-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | A raw binding for the OpenGL graphics system
--   
--   OpenGLRaw is a raw Haskell binding for the OpenGL 4.6 graphics system
--   and lots of OpenGL extensions. It is basically a 1:1 mapping of
--   OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
--   offers access to all necessary functions, tokens and types plus a
--   general facility for loading extension entries. The module hierarchy
--   closely mirrors the naming structure of the OpenGL extensions, making
--   it easy to find the right module to import. All API entries are loaded
--   dynamically, so no special C header files are needed for building this
--   package. If an API entry is not found at runtime, a userError is
--   thrown.
--   
--   OpenGL is the industry's most widely used and supported 2D and 3D
--   graphics application programming interface (API), incorporating a
--   broad set of rendering, texture mapping, special effects, and other
--   powerful visualization functions. For more information about OpenGL
--   and its various extensions, please see http://www.opengl.org/
--   and http://www.opengl.org/registry/.
@package OpenGLRaw
@version 3.3.4.1

-- | All enumeration groups from the OpenGL registry.
module Graphics.GL.Groups

-- | All types from the whole OpenGL registry.
module Graphics.GL.Types

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 32bit signed two's complement 16.16 scaled integer.
type GLfixed = Fixed

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
type GLcharARB = CChar
type GLint64EXT = Int64
type GLuint64EXT = Word64
type GLintptrARB = CPtrdiff
type GLsizeiptrARB = CPtrdiff
type GLhalfARB = Half
type GLhalfNV = Half
type GLDEBUGPROCAMD = FunPtr GLDEBUGPROCAMDFunc

-- | Debug callback.
type GLDEBUGPROCAMDFunc = GLuint -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROCAMD :: GLDEBUGPROCAMDFunc -> IO (FunPtr GLDEBUGPROCAMDFunc)
type GLDEBUGPROCARB = GLDEBUGPROC
type GLDEBUGPROCARBFunc = GLDEBUGPROCFunc
makeGLDEBUGPROCARB :: GLDEBUGPROCARBFunc -> IO (FunPtr GLDEBUGPROCARBFunc)
type GLDEBUGPROCKHR = GLDEBUGPROC
type GLDEBUGPROCKHRFunc = GLDEBUGPROCFunc
makeGLDEBUGPROCKHR :: GLDEBUGPROCKHRFunc -> IO (FunPtr GLDEBUGPROCKHRFunc)
type GLclampx = Fixed
type GLhandleARB = Word32
type GLvdpauSurfaceNV = GLintptr
type GLeglImageOES = Ptr ()
type GLeglClientBufferEXT = Ptr ()
type GLVULKANPROCNVFunc = IO ()
type GLVULKANPROCNV = FunPtr GLVULKANPROCNVFunc

-- | Deprecated: Use makeGLDEBUGPROC instead.
mkGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)

-- | Deprecated: Use makeGLDEBUGPROCAMD instead.
mkGLDEBUGPROCAMD :: GLDEBUGPROCAMDFunc -> IO (FunPtr GLDEBUGPROCAMDFunc)

-- | Deprecated: Use makekGLDEBUGPROCARB instead.
mkGLDEBUGPROCARB :: GLDEBUGPROCARBFunc -> IO (FunPtr GLDEBUGPROCARBFunc)

-- | Deprecated: Use makeGLDEBUGPROCKHR instead.
mkGLDEBUGPROCKHR :: GLDEBUGPROCKHRFunc -> IO (FunPtr GLDEBUGPROCKHRFunc)

-- | All enumeration tokens from the OpenGL registry.
module Graphics.GL.Tokens
pattern GL_1PASS_EXT :: GLenum
pattern GL_1PASS_SGIS :: GLenum
pattern GL_2D :: GLenum
pattern GL_2PASS_0_EXT :: GLenum
pattern GL_2PASS_0_SGIS :: GLenum
pattern GL_2PASS_1_EXT :: GLenum
pattern GL_2PASS_1_SGIS :: GLenum
pattern GL_2X_BIT_ATI :: GLbitfield
pattern GL_2_BYTES :: GLenum
pattern GL_2_BYTES_NV :: GLenum
pattern GL_3D :: GLenum
pattern GL_3DC_XY_AMD :: GLenum
pattern GL_3DC_X_AMD :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_3_BYTES_NV :: GLenum
pattern GL_422_AVERAGE_EXT :: GLenum
pattern GL_422_EXT :: GLenum
pattern GL_422_REV_AVERAGE_EXT :: GLenum
pattern GL_422_REV_EXT :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4PASS_0_EXT :: GLenum
pattern GL_4PASS_0_SGIS :: GLenum
pattern GL_4PASS_1_EXT :: GLenum
pattern GL_4PASS_1_SGIS :: GLenum
pattern GL_4PASS_2_EXT :: GLenum
pattern GL_4PASS_2_SGIS :: GLenum
pattern GL_4PASS_3_EXT :: GLenum
pattern GL_4PASS_3_SGIS :: GLenum
pattern GL_4X_BIT_ATI :: GLbitfield
pattern GL_4_BYTES :: GLenum
pattern GL_4_BYTES_NV :: GLenum
pattern GL_8X_BIT_ATI :: GLbitfield
pattern GL_ABGR_EXT :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ADJACENT_PAIRS_NV :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_PROGRAM_EXT :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_STENCIL_FACE_EXT :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_TEXTURE_ARB :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ACTIVE_VARYINGS_NV :: GLenum
pattern GL_ACTIVE_VARYING_MAX_LENGTH_NV :: GLenum
pattern GL_ACTIVE_VERTEX_UNITS_ARB :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_ATI :: GLenum
pattern GL_ADD_BLEND_IMG :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ADD_SIGNED_ARB :: GLenum
pattern GL_ADD_SIGNED_EXT :: GLenum
pattern GL_ADJACENT_PAIRS_NV :: GLenum
pattern GL_AFFINE_2D_NV :: GLenum
pattern GL_AFFINE_3D_NV :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALLOW_DRAW_FRG_HINT_PGI :: GLenum
pattern GL_ALLOW_DRAW_MEM_HINT_PGI :: GLenum
pattern GL_ALLOW_DRAW_OBJ_HINT_PGI :: GLenum
pattern GL_ALLOW_DRAW_WIN_HINT_PGI :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_BARRIER_BITS_EXT :: GLbitfield
pattern GL_ALL_COMPLETED_NV :: GLenum
pattern GL_ALL_PIXELS_AMD :: GLenum
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS_EXT :: GLbitfield
pattern GL_ALL_STATIC_DATA_IBM :: GLenum
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA12_EXT :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA16F_ARB :: GLenum
pattern GL_ALPHA16F_EXT :: GLenum
pattern GL_ALPHA16I_EXT :: GLenum
pattern GL_ALPHA16UI_EXT :: GLenum
pattern GL_ALPHA16_EXT :: GLenum
pattern GL_ALPHA16_SNORM :: GLenum
pattern GL_ALPHA32F_ARB :: GLenum
pattern GL_ALPHA32F_EXT :: GLenum
pattern GL_ALPHA32I_EXT :: GLenum
pattern GL_ALPHA32UI_EXT :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA4_EXT :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA8I_EXT :: GLenum
pattern GL_ALPHA8UI_EXT :: GLenum
pattern GL_ALPHA8_EXT :: GLenum
pattern GL_ALPHA8_OES :: GLenum
pattern GL_ALPHA8_SNORM :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_FLOAT16_APPLE :: GLenum
pattern GL_ALPHA_FLOAT16_ATI :: GLenum
pattern GL_ALPHA_FLOAT32_APPLE :: GLenum
pattern GL_ALPHA_FLOAT32_ATI :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_INTEGER_EXT :: GLenum
pattern GL_ALPHA_MAX_CLAMP_INGR :: GLenum
pattern GL_ALPHA_MAX_SGIX :: GLenum
pattern GL_ALPHA_MIN_CLAMP_INGR :: GLenum
pattern GL_ALPHA_MIN_SGIX :: GLenum
pattern GL_ALPHA_REF_COMMAND_NV :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_SNORM :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_FUNC_QCOM :: GLenum
pattern GL_ALPHA_TEST_QCOM :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALPHA_TEST_REF_QCOM :: GLenum
pattern GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV :: GLenum
pattern GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV :: GLenum
pattern GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV :: GLenum
pattern GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALREADY_SIGNALED_APPLE :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_ALWAYS_FAST_HINT_PGI :: GLenum
pattern GL_ALWAYS_SOFT_HINT_PGI :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT :: GLenum
pattern GL_ANY_SAMPLES_PASSED_EXT :: GLenum
pattern GL_ARC_TO_NV :: GLubyte
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_ARB :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_ARRAY_ELEMENT_LOCK_COUNT_EXT :: GLenum
pattern GL_ARRAY_ELEMENT_LOCK_FIRST_EXT :: GLenum
pattern GL_ARRAY_OBJECT_BUFFER_ATI :: GLenum
pattern GL_ARRAY_OBJECT_OFFSET_ATI :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ASYNC_DRAW_PIXELS_SGIX :: GLenum
pattern GL_ASYNC_HISTOGRAM_SGIX :: GLenum
pattern GL_ASYNC_MARKER_SGIX :: GLenum
pattern GL_ASYNC_READ_PIXELS_SGIX :: GLenum
pattern GL_ASYNC_TEX_IMAGE_SGIX :: GLenum
pattern GL_ATC_RGBA_EXPLICIT_ALPHA_AMD :: GLenum
pattern GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD :: GLenum
pattern GL_ATC_RGB_AMD :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BARRIER_BIT_EXT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_MEMORY_OBJECT_NV :: GLenum
pattern GL_ATTACHED_MEMORY_OFFSET_NV :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTENUATION_EXT :: GLenum
pattern GL_ATTRIBUTE_ADDRESS_COMMAND_NV :: GLenum
pattern GL_ATTRIB_ARRAY_POINTER_NV :: GLenum
pattern GL_ATTRIB_ARRAY_SIZE_NV :: GLenum
pattern GL_ATTRIB_ARRAY_STRIDE_NV :: GLenum
pattern GL_ATTRIB_ARRAY_TYPE_NV :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_AUX_DEPTH_STENCIL_APPLE :: GLenum
pattern GL_AVERAGE_EXT :: GLenum
pattern GL_AVERAGE_HP :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_NORMALS_HINT_PGI :: GLenum
pattern GL_BACK_PRIMARY_COLOR_NV :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BACK_SECONDARY_COLOR_NV :: GLenum
pattern GL_BEVEL_NV :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA8_EXT :: GLenum
pattern GL_BGRA_EXT :: GLenum
pattern GL_BGRA_IMG :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGRA_INTEGER_EXT :: GLenum
pattern GL_BGR_EXT :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BGR_INTEGER_EXT :: GLenum
pattern GL_BIAS_BIT_ATI :: GLbitfield
pattern GL_BIAS_BY_NEGATIVE_ONE_HALF_NV :: GLenum
pattern GL_BINNING_CONTROL_HINT_QCOM :: GLenum
pattern GL_BINORMAL_ARRAY_EXT :: GLenum
pattern GL_BINORMAL_ARRAY_POINTER_EXT :: GLenum
pattern GL_BINORMAL_ARRAY_STRIDE_EXT :: GLenum
pattern GL_BINORMAL_ARRAY_TYPE_EXT :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLACKHOLE_RENDER_INTEL :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_ADVANCED_COHERENT_KHR :: GLenum
pattern GL_BLEND_ADVANCED_COHERENT_NV :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_COLOR_COMMAND_NV :: GLenum
pattern GL_BLEND_COLOR_EXT :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_ALPHA_EXT :: GLenum
pattern GL_BLEND_DST_ALPHA_OES :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_DST_RGB_EXT :: GLenum
pattern GL_BLEND_DST_RGB_OES :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_ALPHA_EXT :: GLenum
pattern GL_BLEND_EQUATION_ALPHA_OES :: GLenum
pattern GL_BLEND_EQUATION_EXT :: GLenum
pattern GL_BLEND_EQUATION_OES :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_EQUATION_RGB_EXT :: GLenum
pattern GL_BLEND_EQUATION_RGB_OES :: GLenum
pattern GL_BLEND_OVERLAP_NV :: GLenum
pattern GL_BLEND_PREMULTIPLIED_SRC_NV :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_ALPHA_EXT :: GLenum
pattern GL_BLEND_SRC_ALPHA_OES :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLEND_SRC_RGB_EXT :: GLenum
pattern GL_BLEND_SRC_RGB_OES :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_BIT_ATI :: GLbitfield
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_INTEGER_EXT :: GLenum
pattern GL_BLUE_MAX_CLAMP_INGR :: GLenum
pattern GL_BLUE_MIN_CLAMP_INGR :: GLenum
pattern GL_BLUE_NV :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOLD_BIT_NV :: GLbitfield
pattern GL_BOOL :: GLenum
pattern GL_BOOL_ARB :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC2_ARB :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC3_ARB :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BOOL_VEC4_ARB :: GLenum
pattern GL_BOUNDING_BOX_NV :: GLenum
pattern GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: GLenum
pattern GL_BROWSER_DEFAULT_WEBGL :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_ARB :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_ACCESS_OES :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_FLUSHING_UNMAP_APPLE :: GLenum
pattern GL_BUFFER_GPU_ADDRESS_NV :: GLenum
pattern GL_BUFFER_IMMUTABLE_STORAGE :: GLenum
pattern GL_BUFFER_IMMUTABLE_STORAGE_EXT :: GLenum
pattern GL_BUFFER_KHR :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAPPED_ARB :: GLenum
pattern GL_BUFFER_MAPPED_OES :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_MAP_POINTER_ARB :: GLenum
pattern GL_BUFFER_MAP_POINTER_OES :: GLenum
pattern GL_BUFFER_OBJECT_APPLE :: GLenum
pattern GL_BUFFER_OBJECT_EXT :: GLenum
pattern GL_BUFFER_SERIALIZED_MODIFY_APPLE :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_SIZE_ARB :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS_EXT :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_UPDATE_BARRIER_BIT_EXT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_USAGE_ARB :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BUMP_ENVMAP_ATI :: GLenum
pattern GL_BUMP_NUM_TEX_UNITS_ATI :: GLenum
pattern GL_BUMP_ROT_MATRIX_ATI :: GLenum
pattern GL_BUMP_ROT_MATRIX_SIZE_ATI :: GLenum
pattern GL_BUMP_TARGET_ATI :: GLenum
pattern GL_BUMP_TEX_UNITS_ATI :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CALLIGRAPHIC_FRAGMENT_SGIX :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CIRCULAR_CCW_ARC_TO_NV :: GLubyte
pattern GL_CIRCULAR_CW_ARC_TO_NV :: GLubyte
pattern GL_CIRCULAR_TANGENT_ARC_TO_NV :: GLubyte
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR_ARB :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR_ARB :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_BORDER_ARB :: GLenum
pattern GL_CLAMP_TO_BORDER_EXT :: GLenum
pattern GL_CLAMP_TO_BORDER_NV :: GLenum
pattern GL_CLAMP_TO_BORDER_OES :: GLenum
pattern GL_CLAMP_TO_BORDER_SGIS :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_TO_EDGE_SGIS :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLAMP_VERTEX_COLOR_ARB :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLEAR_TEXTURE :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE_ARB :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT :: GLbitfield
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT_EXT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIPPING_INPUT_PRIMITIVES :: GLenum
pattern GL_CLIPPING_INPUT_PRIMITIVES_ARB :: GLenum
pattern GL_CLIPPING_OUTPUT_PRIMITIVES :: GLenum
pattern GL_CLIPPING_OUTPUT_PRIMITIVES_ARB :: GLenum
pattern GL_CLIP_DEPTH_MODE :: GLenum
pattern GL_CLIP_DEPTH_MODE_EXT :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE0_APPLE :: GLenum
pattern GL_CLIP_DISTANCE0_EXT :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE1_APPLE :: GLenum
pattern GL_CLIP_DISTANCE1_EXT :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE2_APPLE :: GLenum
pattern GL_CLIP_DISTANCE2_EXT :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE3_APPLE :: GLenum
pattern GL_CLIP_DISTANCE3_EXT :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE4_APPLE :: GLenum
pattern GL_CLIP_DISTANCE4_EXT :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE5_APPLE :: GLenum
pattern GL_CLIP_DISTANCE5_EXT :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE6_APPLE :: GLenum
pattern GL_CLIP_DISTANCE6_EXT :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_DISTANCE7_APPLE :: GLenum
pattern GL_CLIP_DISTANCE7_EXT :: GLenum
pattern GL_CLIP_DISTANCE_NV :: GLenum
pattern GL_CLIP_FAR_HINT_PGI :: GLenum
pattern GL_CLIP_NEAR_HINT_PGI :: GLenum
pattern GL_CLIP_ORIGIN :: GLenum
pattern GL_CLIP_ORIGIN_EXT :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE0_IMG :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE1_IMG :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE2_IMG :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE3_IMG :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE4_IMG :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_CLIP_PLANE5_IMG :: GLenum
pattern GL_CLIP_VOLUME_CLIPPING_HINT_EXT :: GLenum
pattern GL_CLOSE_PATH_NV :: GLubyte
pattern GL_CMYKA_EXT :: GLenum
pattern GL_CMYK_EXT :: GLenum
pattern GL_CND0_ATI :: GLenum
pattern GL_CND_ATI :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR3_BIT_PGI :: GLbitfield
pattern GL_COLOR4_BIT_PGI :: GLbitfield
pattern GL_COLORBURN :: GLenum
pattern GL_COLORBURN_KHR :: GLenum
pattern GL_COLORBURN_NV :: GLenum
pattern GL_COLORDODGE :: GLenum
pattern GL_COLORDODGE_KHR :: GLenum
pattern GL_COLORDODGE_NV :: GLenum
pattern GL_COLOR_ALPHA_PAIRING_ATI :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_ADDRESS_NV :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_COLOR_ARRAY_COUNT_EXT :: GLenum
pattern GL_COLOR_ARRAY_EXT :: GLenum
pattern GL_COLOR_ARRAY_LENGTH_NV :: GLenum
pattern GL_COLOR_ARRAY_LIST_IBM :: GLenum
pattern GL_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_POINTER_EXT :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_SIZE_EXT :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE_EXT :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ARRAY_TYPE_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT0_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT0_NV :: GLenum
pattern GL_COLOR_ATTACHMENT0_OES :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT10_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT10_NV :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT11_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT11_NV :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT12_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT12_NV :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT13_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT13_NV :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT14_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT14_NV :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT15_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT15_NV :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT1_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT1_NV :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT2_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT2_NV :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT3_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT3_NV :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT4_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT4_NV :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT5_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT5_NV :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT6_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT6_NV :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT7_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT7_NV :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT8_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT8_NV :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_ATTACHMENT9_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT9_NV :: GLenum
pattern GL_COLOR_ATTACHMENT_EXT :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_BUFFER_BIT0_QCOM :: GLbitfield
pattern GL_COLOR_BUFFER_BIT1_QCOM :: GLbitfield
pattern GL_COLOR_BUFFER_BIT2_QCOM :: GLbitfield
pattern GL_COLOR_BUFFER_BIT3_QCOM :: GLbitfield
pattern GL_COLOR_BUFFER_BIT4_QCOM :: GLbitfield
pattern GL_COLOR_BUFFER_BIT5_QCOM :: GLbitfield
pattern GL_COLOR_BUFFER_BIT6_QCOM :: GLbitfield
pattern GL_COLOR_BUFFER_BIT7_QCOM :: GLbitfield
pattern GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI :: GLenum
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_EXT :: GLenum
pattern GL_COLOR_FLOAT_APPLE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEX12_EXT :: GLenum
pattern GL_COLOR_INDEX16_EXT :: GLenum
pattern GL_COLOR_INDEX1_EXT :: GLenum
pattern GL_COLOR_INDEX2_EXT :: GLenum
pattern GL_COLOR_INDEX4_EXT :: GLenum
pattern GL_COLOR_INDEX8_EXT :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_MATRIX :: GLenum
pattern GL_COLOR_MATRIX_SGI :: GLenum
pattern GL_COLOR_MATRIX_STACK_DEPTH :: GLenum
pattern GL_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_SAMPLES_NV :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_SUM_ARB :: GLenum
pattern GL_COLOR_SUM_CLAMP_NV :: GLenum
pattern GL_COLOR_SUM_EXT :: GLenum
pattern GL_COLOR_TABLE :: GLenum
pattern GL_COLOR_TABLE_ALPHA_SIZE :: GLenum
pattern GL_COLOR_TABLE_ALPHA_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_BIAS :: GLenum
pattern GL_COLOR_TABLE_BIAS_SGI :: GLenum
pattern GL_COLOR_TABLE_BLUE_SIZE :: GLenum
pattern GL_COLOR_TABLE_BLUE_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_FORMAT :: GLenum
pattern GL_COLOR_TABLE_FORMAT_SGI :: GLenum
pattern GL_COLOR_TABLE_GREEN_SIZE :: GLenum
pattern GL_COLOR_TABLE_GREEN_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_INTENSITY_SIZE :: GLenum
pattern GL_COLOR_TABLE_INTENSITY_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_LUMINANCE_SIZE :: GLenum
pattern GL_COLOR_TABLE_LUMINANCE_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_RED_SIZE :: GLenum
pattern GL_COLOR_TABLE_RED_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_SCALE :: GLenum
pattern GL_COLOR_TABLE_SCALE_SGI :: GLenum
pattern GL_COLOR_TABLE_SGI :: GLenum
pattern GL_COLOR_TABLE_WIDTH :: GLenum
pattern GL_COLOR_TABLE_WIDTH_SGI :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE4_NV :: GLenum
pattern GL_COMBINER0_NV :: GLenum
pattern GL_COMBINER1_NV :: GLenum
pattern GL_COMBINER2_NV :: GLenum
pattern GL_COMBINER3_NV :: GLenum
pattern GL_COMBINER4_NV :: GLenum
pattern GL_COMBINER5_NV :: GLenum
pattern GL_COMBINER6_NV :: GLenum
pattern GL_COMBINER7_NV :: GLenum
pattern GL_COMBINER_AB_DOT_PRODUCT_NV :: GLenum
pattern GL_COMBINER_AB_OUTPUT_NV :: GLenum
pattern GL_COMBINER_BIAS_NV :: GLenum
pattern GL_COMBINER_CD_DOT_PRODUCT_NV :: GLenum
pattern GL_COMBINER_CD_OUTPUT_NV :: GLenum
pattern GL_COMBINER_COMPONENT_USAGE_NV :: GLenum
pattern GL_COMBINER_INPUT_NV :: GLenum
pattern GL_COMBINER_MAPPING_NV :: GLenum
pattern GL_COMBINER_MUX_SUM_NV :: GLenum
pattern GL_COMBINER_SCALE_NV :: GLenum
pattern GL_COMBINER_SUM_OUTPUT_NV :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_ALPHA_ARB :: GLenum
pattern GL_COMBINE_ALPHA_EXT :: GLenum
pattern GL_COMBINE_ARB :: GLenum
pattern GL_COMBINE_EXT :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMBINE_RGB_ARB :: GLenum
pattern GL_COMBINE_RGB_EXT :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMMAND_BARRIER_BIT_EXT :: GLbitfield
pattern GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE_EXT :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE_ARB :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPLETION_STATUS_ARB :: GLenum
pattern GL_COMPLETION_STATUS_KHR :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_ALPHA_ARB :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_INTENSITY_ARB :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA_ARB :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ARB :: GLenum
pattern GL_COMPRESSED_LUMINANCE_LATC1_EXT :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_R11_EAC_OES :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_GREEN_RGTC2_EXT :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RED_RGTC1_EXT :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RG11_EAC_OES :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2_OES :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ARB :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x10 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x10_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x5 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x6 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x8 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x8_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_12x10 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_12x10_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_12x12 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_12x12_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_3x3x3_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_4x3x3_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_4x4 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_4x4_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_4x4x3_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_4x4x4_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x4 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x4_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x4x4_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x5 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x5x4_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x5x5_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x5 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x5x5_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x6 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x6x5_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x6x6_OES :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x5 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x6 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x8 :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x8_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM_ARB :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM_EXT :: GLenum
pattern GL_COMPRESSED_RGBA_FXT1_3DFX :: GLenum
pattern GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG :: GLenum
pattern GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG :: GLenum
pattern GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG :: GLenum
pattern GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG :: GLenum
pattern GL_COMPRESSED_RGBA_S3TC_DXT1_EXT :: GLenum
pattern GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE :: GLenum
pattern GL_COMPRESSED_RGBA_S3TC_DXT3_EXT :: GLenum
pattern GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE :: GLenum
pattern GL_COMPRESSED_RGBA_S3TC_DXT5_EXT :: GLenum
pattern GL_COMPRESSED_RGB_ARB :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT :: GLenum
pattern GL_COMPRESSED_RGB_FXT1_3DFX :: GLenum
pattern GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG :: GLenum
pattern GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG :: GLenum
pattern GL_COMPRESSED_RGB_S3TC_DXT1_EXT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
pattern GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC_OES :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1_EXT :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC_OES :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA_EXT :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_EXT :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2_OES :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV :: GLenum
pattern GL_COMPRESSED_SRGB_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_S3TC_DXT1_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_S3TC_DXT1_NV :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
pattern GL_COMPUTE_PROGRAM_NV :: GLenum
pattern GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SHADER_INVOCATIONS :: GLenum
pattern GL_COMPUTE_SHADER_INVOCATIONS_ARB :: GLenum
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_COMP_BIT_ATI :: GLbitfield
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONDITION_SATISFIED_APPLE :: GLenum
pattern GL_CONFORMANT_NV :: GLenum
pattern GL_CONIC_CURVE_TO_NV :: GLubyte
pattern GL_CONJOINT_NV :: GLenum
pattern GL_CONSERVATIVE_RASTERIZATION_INTEL :: GLenum
pattern GL_CONSERVATIVE_RASTERIZATION_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_DILATE_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_MODE_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV :: GLenum
pattern GL_CONSERVE_MEMORY_HINT_PGI :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ALPHA_EXT :: GLenum
pattern GL_CONSTANT_ARB :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_BORDER :: GLenum
pattern GL_CONSTANT_BORDER_HP :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONSTANT_COLOR0_NV :: GLenum
pattern GL_CONSTANT_COLOR1_NV :: GLenum
pattern GL_CONSTANT_COLOR_EXT :: GLenum
pattern GL_CONSTANT_EXT :: GLenum
pattern GL_CONSTANT_NV :: GLenum
pattern GL_CONST_EYE_NV :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_DEBUG_BIT_KHR :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_NO_ERROR_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR :: GLbitfield
pattern GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT :: GLbitfield
pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB :: GLbitfield
pattern GL_CONTEXT_LOST :: GLenum
pattern GL_CONTEXT_LOST_KHR :: GLenum
pattern GL_CONTEXT_LOST_WEBGL :: GLenum
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR_KHR :: GLenum
pattern GL_CONTEXT_ROBUST_ACCESS :: GLenum
pattern GL_CONTEXT_ROBUST_ACCESS_EXT :: GLenum
pattern GL_CONTEXT_ROBUST_ACCESS_KHR :: GLenum
pattern GL_CONTINUOUS_AMD :: GLenum
pattern GL_CONTRAST_NV :: GLenum
pattern GL_CONVEX_HULL_NV :: GLenum
pattern GL_CONVOLUTION_1D :: GLenum
pattern GL_CONVOLUTION_1D_EXT :: GLenum
pattern GL_CONVOLUTION_2D :: GLenum
pattern GL_CONVOLUTION_2D_EXT :: GLenum
pattern GL_CONVOLUTION_BORDER_COLOR :: GLenum
pattern GL_CONVOLUTION_BORDER_COLOR_HP :: GLenum
pattern GL_CONVOLUTION_BORDER_MODE :: GLenum
pattern GL_CONVOLUTION_BORDER_MODE_EXT :: GLenum
pattern GL_CONVOLUTION_FILTER_BIAS :: GLenum
pattern GL_CONVOLUTION_FILTER_BIAS_EXT :: GLenum
pattern GL_CONVOLUTION_FILTER_SCALE :: GLenum
pattern GL_CONVOLUTION_FILTER_SCALE_EXT :: GLenum
pattern GL_CONVOLUTION_FORMAT :: GLenum
pattern GL_CONVOLUTION_FORMAT_EXT :: GLenum
pattern GL_CONVOLUTION_HEIGHT :: GLenum
pattern GL_CONVOLUTION_HEIGHT_EXT :: GLenum
pattern GL_CONVOLUTION_HINT_SGIX :: GLenum
pattern GL_CONVOLUTION_WIDTH :: GLenum
pattern GL_CONVOLUTION_WIDTH_EXT :: GLenum
pattern GL_CON_0_ATI :: GLenum
pattern GL_CON_10_ATI :: GLenum
pattern GL_CON_11_ATI :: GLenum
pattern GL_CON_12_ATI :: GLenum
pattern GL_CON_13_ATI :: GLenum
pattern GL_CON_14_ATI :: GLenum
pattern GL_CON_15_ATI :: GLenum
pattern GL_CON_16_ATI :: GLenum
pattern GL_CON_17_ATI :: GLenum
pattern GL_CON_18_ATI :: GLenum
pattern GL_CON_19_ATI :: GLenum
pattern GL_CON_1_ATI :: GLenum
pattern GL_CON_20_ATI :: GLenum
pattern GL_CON_21_ATI :: GLenum
pattern GL_CON_22_ATI :: GLenum
pattern GL_CON_23_ATI :: GLenum
pattern GL_CON_24_ATI :: GLenum
pattern GL_CON_25_ATI :: GLenum
pattern GL_CON_26_ATI :: GLenum
pattern GL_CON_27_ATI :: GLenum
pattern GL_CON_28_ATI :: GLenum
pattern GL_CON_29_ATI :: GLenum
pattern GL_CON_2_ATI :: GLenum
pattern GL_CON_30_ATI :: GLenum
pattern GL_CON_31_ATI :: GLenum
pattern GL_CON_3_ATI :: GLenum
pattern GL_CON_4_ATI :: GLenum
pattern GL_CON_5_ATI :: GLenum
pattern GL_CON_6_ATI :: GLenum
pattern GL_CON_7_ATI :: GLenum
pattern GL_CON_8_ATI :: GLenum
pattern GL_CON_9_ATI :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COORD_REPLACE_ARB :: GLenum
pattern GL_COORD_REPLACE_NV :: GLenum
pattern GL_COORD_REPLACE_OES :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_READ_BUFFER_NV :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER_NV :: GLenum
pattern GL_COUNTER_RANGE_AMD :: GLenum
pattern GL_COUNTER_TYPE_AMD :: GLenum
pattern GL_COUNT_DOWN_NV :: GLenum
pattern GL_COUNT_UP_NV :: GLenum
pattern GL_COVERAGE_ALL_FRAGMENTS_NV :: GLenum
pattern GL_COVERAGE_ATTACHMENT_NV :: GLenum
pattern GL_COVERAGE_AUTOMATIC_NV :: GLenum
pattern GL_COVERAGE_BUFFERS_NV :: GLenum
pattern GL_COVERAGE_BUFFER_BIT_NV :: GLbitfield
pattern GL_COVERAGE_COMPONENT4_NV :: GLenum
pattern GL_COVERAGE_COMPONENT_NV :: GLenum
pattern GL_COVERAGE_EDGE_FRAGMENTS_NV :: GLenum
pattern GL_COVERAGE_MODULATION_NV :: GLenum
pattern GL_COVERAGE_MODULATION_TABLE_NV :: GLenum
pattern GL_COVERAGE_MODULATION_TABLE_SIZE_NV :: GLenum
pattern GL_COVERAGE_SAMPLES_NV :: GLenum
pattern GL_CPU_OPTIMIZED_QCOM :: GLenum
pattern GL_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_CUBIC_EXT :: GLenum
pattern GL_CUBIC_HP :: GLenum
pattern GL_CUBIC_IMG :: GLenum
pattern GL_CUBIC_MIPMAP_LINEAR_IMG :: GLenum
pattern GL_CUBIC_MIPMAP_NEAREST_IMG :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CULL_FRAGMENT_NV :: GLenum
pattern GL_CULL_MODES_NV :: GLenum
pattern GL_CULL_VERTEX_EXT :: GLenum
pattern GL_CULL_VERTEX_EYE_POSITION_EXT :: GLenum
pattern GL_CULL_VERTEX_IBM :: GLenum
pattern GL_CULL_VERTEX_OBJECT_POSITION_EXT :: GLenum
pattern GL_CURRENT_ATTRIB_NV :: GLenum
pattern GL_CURRENT_BINORMAL_EXT :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_FOG_COORDINATE_EXT :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_MATRIX_ARB :: GLenum
pattern GL_CURRENT_MATRIX_INDEX_ARB :: GLenum
pattern GL_CURRENT_MATRIX_NV :: GLenum
pattern GL_CURRENT_MATRIX_STACK_DEPTH_ARB :: GLenum
pattern GL_CURRENT_MATRIX_STACK_DEPTH_NV :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_OCCLUSION_QUERY_ID_NV :: GLenum
pattern GL_CURRENT_PALETTE_MATRIX_ARB :: GLenum
pattern GL_CURRENT_PALETTE_MATRIX_OES :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_QUERY_ARB :: GLenum
pattern GL_CURRENT_QUERY_EXT :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_NORMAL_SGIX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR_EXT :: GLenum
pattern GL_CURRENT_TANGENT_EXT :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_TIME_NV :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB_ARB :: GLenum
pattern GL_CURRENT_VERTEX_EXT :: GLenum
pattern GL_CURRENT_VERTEX_WEIGHT_EXT :: GLenum
pattern GL_CURRENT_WEIGHT_ARB :: GLenum
pattern GL_CW :: GLenum
pattern GL_D3D12_FENCE_VALUE_EXT :: GLenum
pattern GL_DARKEN :: GLenum
pattern GL_DARKEN_KHR :: GLenum
pattern GL_DARKEN_NV :: GLenum
pattern GL_DATA_BUFFER_AMD :: GLenum
pattern GL_DEBUG_ASSERT_MESA :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION_ARB :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION_KHR :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM_ARB :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM_KHR :: GLenum
pattern GL_DEBUG_CATEGORY_API_ERROR_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_APPLICATION_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_DEPRECATION_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_OTHER_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_PERFORMANCE_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH_KHR :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES_KHR :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR :: GLenum
pattern GL_DEBUG_OBJECT_MESA :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_KHR :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR :: GLenum
pattern GL_DEBUG_PRINT_MESA :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH_AMD :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH_ARB :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH_KHR :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_LOW_AMD :: GLenum
pattern GL_DEBUG_SEVERITY_LOW_ARB :: GLenum
pattern GL_DEBUG_SEVERITY_LOW_KHR :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM_AMD :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM_ARB :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM_KHR :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION_KHR :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_API_ARB :: GLenum
pattern GL_DEBUG_SOURCE_API_KHR :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION_ARB :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION_KHR :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_OTHER_ARB :: GLenum
pattern GL_DEBUG_SOURCE_OTHER_KHR :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER_ARB :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER_KHR :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY_ARB :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY_KHR :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_ERROR_ARB :: GLenum
pattern GL_DEBUG_TYPE_ERROR_KHR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_MARKER_KHR :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_OTHER_ARB :: GLenum
pattern GL_DEBUG_TYPE_OTHER_KHR :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE_ARB :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE_KHR :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP_KHR :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY_ARB :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY_KHR :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP_KHR :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECODE_EXT :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DECR_WRAP_EXT :: GLenum
pattern GL_DECR_WRAP_OES :: GLenum
pattern GL_DEDICATED_MEMORY_OBJECT_EXT :: GLenum
pattern GL_DEFORMATIONS_MASK_SGIX :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPENDENT_AR_TEXTURE_2D_NV :: GLenum
pattern GL_DEPENDENT_GB_TEXTURE_2D_NV :: GLenum
pattern GL_DEPENDENT_HILO_TEXTURE_2D_NV :: GLenum
pattern GL_DEPENDENT_RGB_TEXTURE_3D_NV :: GLenum
pattern GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH24_STENCIL8_EXT :: GLenum
pattern GL_DEPTH24_STENCIL8_OES :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8_NV :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_ATTACHMENT_EXT :: GLenum
pattern GL_DEPTH_ATTACHMENT_OES :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BOUNDS_EXT :: GLenum
pattern GL_DEPTH_BOUNDS_TEST_EXT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_BUFFER_BIT0_QCOM :: GLbitfield
pattern GL_DEPTH_BUFFER_BIT1_QCOM :: GLbitfield
pattern GL_DEPTH_BUFFER_BIT2_QCOM :: GLbitfield
pattern GL_DEPTH_BUFFER_BIT3_QCOM :: GLbitfield
pattern GL_DEPTH_BUFFER_BIT4_QCOM :: GLbitfield
pattern GL_DEPTH_BUFFER_BIT5_QCOM :: GLbitfield
pattern GL_DEPTH_BUFFER_BIT6_QCOM :: GLbitfield
pattern GL_DEPTH_BUFFER_BIT7_QCOM :: GLbitfield
pattern GL_DEPTH_BUFFER_FLOAT_MODE_NV :: GLenum
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLAMP_EXT :: GLenum
pattern GL_DEPTH_CLAMP_FAR_AMD :: GLenum
pattern GL_DEPTH_CLAMP_NEAR_AMD :: GLenum
pattern GL_DEPTH_CLAMP_NV :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT16_ARB :: GLenum
pattern GL_DEPTH_COMPONENT16_NONLINEAR_NV :: GLenum
pattern GL_DEPTH_COMPONENT16_OES :: GLenum
pattern GL_DEPTH_COMPONENT16_SGIX :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT24_ARB :: GLenum
pattern GL_DEPTH_COMPONENT24_OES :: GLenum
pattern GL_DEPTH_COMPONENT24_SGIX :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENT32F_NV :: GLenum
pattern GL_DEPTH_COMPONENT32_ARB :: GLenum
pattern GL_DEPTH_COMPONENT32_OES :: GLenum
pattern GL_DEPTH_COMPONENT32_SGIX :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_EXT :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX :: GLenum
pattern GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX :: GLenum
pattern GL_DEPTH_PASS_INSTRUMENT_SGIX :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_SAMPLES_NV :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_EXT :: GLenum
pattern GL_DEPTH_STENCIL_MESA :: GLenum
pattern GL_DEPTH_STENCIL_NV :: GLenum
pattern GL_DEPTH_STENCIL_OES :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_STENCIL_TO_BGRA_NV :: GLenum
pattern GL_DEPTH_STENCIL_TO_RGBA_NV :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEXTURE_MODE_ARB :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DETACHED_BUFFERS_NV :: GLenum
pattern GL_DETACHED_MEMORY_INCARNATION_NV :: GLenum
pattern GL_DETACHED_TEXTURES_NV :: GLenum
pattern GL_DETAIL_TEXTURE_2D_BINDING_SGIS :: GLenum
pattern GL_DETAIL_TEXTURE_2D_SGIS :: GLenum
pattern GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS :: GLenum
pattern GL_DETAIL_TEXTURE_LEVEL_SGIS :: GLenum
pattern GL_DETAIL_TEXTURE_MODE_SGIS :: GLenum
pattern GL_DEVICE_LUID_EXT :: GLenum
pattern GL_DEVICE_NODE_MASK_EXT :: GLenum
pattern GL_DEVICE_UUID_EXT :: GLenum
pattern GL_DIFFERENCE :: GLenum
pattern GL_DIFFERENCE_KHR :: GLenum
pattern GL_DIFFERENCE_NV :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DISCARD_ATI :: GLenum
pattern GL_DISCARD_NV :: GLenum
pattern GL_DISCRETE_AMD :: GLenum
pattern GL_DISJOINT_NV :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DISPLAY_LIST :: GLenum
pattern GL_DISTANCE_ATTENUATION_EXT :: GLenum
pattern GL_DISTANCE_ATTENUATION_SGIS :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DMP_PROGRAM_BINARY_DMP :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT2_ADD_ATI :: GLenum
pattern GL_DOT3_ATI :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOT3_RGBA_ARB :: GLenum
pattern GL_DOT3_RGBA_EXT :: GLenum
pattern GL_DOT3_RGBA_IMG :: GLenum
pattern GL_DOT3_RGB_ARB :: GLenum
pattern GL_DOT3_RGB_EXT :: GLenum
pattern GL_DOT4_ATI :: GLenum
pattern GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV :: GLenum
pattern GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_DEPTH_REPLACE_NV :: GLenum
pattern GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_NV :: GLenum
pattern GL_DOT_PRODUCT_PASS_THROUGH_NV :: GLenum
pattern GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_1D_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_2D_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_3D_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_EXT :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2_EXT :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x3_EXT :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT2x4_EXT :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3_EXT :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x2_EXT :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT3x4_EXT :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4_EXT :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x2_EXT :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_MAT4x3_EXT :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC2_EXT :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC3_EXT :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DOUBLE_VEC4_EXT :: GLenum
pattern GL_DOWNSAMPLE_SCALES_IMG :: GLenum
pattern GL_DRAW_ARRAYS_COMMAND_NV :: GLenum
pattern GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV :: GLenum
pattern GL_DRAW_ARRAYS_STRIP_COMMAND_NV :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER0_ARB :: GLenum
pattern GL_DRAW_BUFFER0_ATI :: GLenum
pattern GL_DRAW_BUFFER0_EXT :: GLenum
pattern GL_DRAW_BUFFER0_NV :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER10_ARB :: GLenum
pattern GL_DRAW_BUFFER10_ATI :: GLenum
pattern GL_DRAW_BUFFER10_EXT :: GLenum
pattern GL_DRAW_BUFFER10_NV :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER11_ARB :: GLenum
pattern GL_DRAW_BUFFER11_ATI :: GLenum
pattern GL_DRAW_BUFFER11_EXT :: GLenum
pattern GL_DRAW_BUFFER11_NV :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER12_ARB :: GLenum
pattern GL_DRAW_BUFFER12_ATI :: GLenum
pattern GL_DRAW_BUFFER12_EXT :: GLenum
pattern GL_DRAW_BUFFER12_NV :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER13_ARB :: GLenum
pattern GL_DRAW_BUFFER13_ATI :: GLenum
pattern GL_DRAW_BUFFER13_EXT :: GLenum
pattern GL_DRAW_BUFFER13_NV :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER14_ARB :: GLenum
pattern GL_DRAW_BUFFER14_ATI :: GLenum
pattern GL_DRAW_BUFFER14_EXT :: GLenum
pattern GL_DRAW_BUFFER14_NV :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER15_ARB :: GLenum
pattern GL_DRAW_BUFFER15_ATI :: GLenum
pattern GL_DRAW_BUFFER15_EXT :: GLenum
pattern GL_DRAW_BUFFER15_NV :: GLenum
pattern GL_DRAW_BUFFER1_ARB :: GLenum
pattern GL_DRAW_BUFFER1_ATI :: GLenum
pattern GL_DRAW_BUFFER1_EXT :: GLenum
pattern GL_DRAW_BUFFER1_NV :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER2_ARB :: GLenum
pattern GL_DRAW_BUFFER2_ATI :: GLenum
pattern GL_DRAW_BUFFER2_EXT :: GLenum
pattern GL_DRAW_BUFFER2_NV :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER3_ARB :: GLenum
pattern GL_DRAW_BUFFER3_ATI :: GLenum
pattern GL_DRAW_BUFFER3_EXT :: GLenum
pattern GL_DRAW_BUFFER3_NV :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER4_ARB :: GLenum
pattern GL_DRAW_BUFFER4_ATI :: GLenum
pattern GL_DRAW_BUFFER4_EXT :: GLenum
pattern GL_DRAW_BUFFER4_NV :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER5_ARB :: GLenum
pattern GL_DRAW_BUFFER5_ATI :: GLenum
pattern GL_DRAW_BUFFER5_EXT :: GLenum
pattern GL_DRAW_BUFFER5_NV :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER6_ARB :: GLenum
pattern GL_DRAW_BUFFER6_ATI :: GLenum
pattern GL_DRAW_BUFFER6_EXT :: GLenum
pattern GL_DRAW_BUFFER6_NV :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER7_ARB :: GLenum
pattern GL_DRAW_BUFFER7_ATI :: GLenum
pattern GL_DRAW_BUFFER7_EXT :: GLenum
pattern GL_DRAW_BUFFER7_NV :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER8_ARB :: GLenum
pattern GL_DRAW_BUFFER8_ATI :: GLenum
pattern GL_DRAW_BUFFER8_EXT :: GLenum
pattern GL_DRAW_BUFFER8_NV :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_BUFFER9_ARB :: GLenum
pattern GL_DRAW_BUFFER9_ATI :: GLenum
pattern GL_DRAW_BUFFER9_EXT :: GLenum
pattern GL_DRAW_BUFFER9_NV :: GLenum
pattern GL_DRAW_BUFFER_EXT :: GLenum
pattern GL_DRAW_ELEMENTS_COMMAND_NV :: GLenum
pattern GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV :: GLenum
pattern GL_DRAW_ELEMENTS_STRIP_COMMAND_NV :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_ANGLE :: GLenum
pattern GL_DRAW_FRAMEBUFFER_APPLE :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING_ANGLE :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING_APPLE :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING_EXT :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING_NV :: GLenum
pattern GL_DRAW_FRAMEBUFFER_EXT :: GLenum
pattern GL_DRAW_FRAMEBUFFER_NV :: GLenum
pattern GL_DRAW_INDIRECT_ADDRESS_NV :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_LENGTH_NV :: GLenum
pattern GL_DRAW_INDIRECT_UNIFIED_NV :: GLenum
pattern GL_DRAW_PIXELS_APPLE :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DRIVER_UUID_EXT :: GLenum
pattern GL_DSDT8_MAG8_INTENSITY8_NV :: GLenum
pattern GL_DSDT8_MAG8_NV :: GLenum
pattern GL_DSDT8_NV :: GLenum
pattern GL_DSDT_MAG_INTENSITY_NV :: GLenum
pattern GL_DSDT_MAG_NV :: GLenum
pattern GL_DSDT_MAG_VIB_NV :: GLenum
pattern GL_DSDT_NV :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_ATOP_NV :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DST_IN_NV :: GLenum
pattern GL_DST_NV :: GLenum
pattern GL_DST_OUT_NV :: GLenum
pattern GL_DST_OVER_NV :: GLenum
pattern GL_DS_BIAS_NV :: GLenum
pattern GL_DS_SCALE_NV :: GLenum
pattern GL_DT_BIAS_NV :: GLenum
pattern GL_DT_SCALE_NV :: GLenum
pattern GL_DU8DV8_ATI :: GLenum
pattern GL_DUAL_ALPHA12_SGIS :: GLenum
pattern GL_DUAL_ALPHA16_SGIS :: GLenum
pattern GL_DUAL_ALPHA4_SGIS :: GLenum
pattern GL_DUAL_ALPHA8_SGIS :: GLenum
pattern GL_DUAL_INTENSITY12_SGIS :: GLenum
pattern GL_DUAL_INTENSITY16_SGIS :: GLenum
pattern GL_DUAL_INTENSITY4_SGIS :: GLenum
pattern GL_DUAL_INTENSITY8_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE12_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE16_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE4_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE8_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE_ALPHA4_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE_ALPHA8_SGIS :: GLenum
pattern GL_DUAL_TEXTURE_SELECT_SGIS :: GLenum
pattern GL_DUDV_ATI :: GLenum
pattern GL_DUP_FIRST_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_DUP_LAST_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_DYNAMIC_ATI :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_COPY_ARB :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_DRAW_ARB :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_DYNAMIC_READ_ARB :: GLenum
pattern GL_DYNAMIC_STORAGE_BIT :: GLbitfield
pattern GL_DYNAMIC_STORAGE_BIT_EXT :: GLbitfield
pattern GL_EDGEFLAG_BIT_PGI :: GLbitfield
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_ADDRESS_NV :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_EDGE_FLAG_ARRAY_COUNT_EXT :: GLenum
pattern GL_EDGE_FLAG_ARRAY_EXT :: GLenum
pattern GL_EDGE_FLAG_ARRAY_LENGTH_NV :: GLenum
pattern GL_EDGE_FLAG_ARRAY_LIST_IBM :: GLenum
pattern GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER_EXT :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE_EXT :: GLenum
pattern GL_EFFECTIVE_RASTER_SAMPLES_EXT :: GLenum
pattern GL_EIGHTH_BIT_ATI :: GLbitfield
pattern GL_ELEMENT_ADDRESS_COMMAND_NV :: GLenum
pattern GL_ELEMENT_ARRAY_ADDRESS_NV :: GLenum
pattern GL_ELEMENT_ARRAY_APPLE :: GLenum
pattern GL_ELEMENT_ARRAY_ATI :: GLenum
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BARRIER_BIT_EXT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_ARB :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_ELEMENT_ARRAY_LENGTH_NV :: GLenum
pattern GL_ELEMENT_ARRAY_POINTER_APPLE :: GLenum
pattern GL_ELEMENT_ARRAY_POINTER_ATI :: GLenum
pattern GL_ELEMENT_ARRAY_TYPE_APPLE :: GLenum
pattern GL_ELEMENT_ARRAY_TYPE_ATI :: GLenum
pattern GL_ELEMENT_ARRAY_UNIFIED_NV :: GLenum
pattern GL_EMBOSS_CONSTANT_NV :: GLenum
pattern GL_EMBOSS_LIGHT_NV :: GLenum
pattern GL_EMBOSS_MAP_NV :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_ETC1_RGB8_OES :: GLenum
pattern GL_ETC1_SRGB8_NV :: GLenum
pattern GL_EVAL_2D_NV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EVAL_FRACTIONAL_TESSELLATION_NV :: GLenum
pattern GL_EVAL_TRIANGULAR_2D_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB0_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB10_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB11_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB12_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB13_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB14_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB15_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB1_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB2_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB3_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB4_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB5_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB6_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB7_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB8_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB9_NV :: GLenum
pattern GL_EXCLUSION :: GLenum
pattern GL_EXCLUSION_KHR :: GLenum
pattern GL_EXCLUSION_NV :: GLenum
pattern GL_EXCLUSIVE_EXT :: GLenum
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXPAND_NEGATE_NV :: GLenum
pattern GL_EXPAND_NORMAL_NV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EXTERNAL_STORAGE_BIT_NVX :: GLbitfield
pattern GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD :: GLenum
pattern GL_EYE_DISTANCE_TO_LINE_SGIS :: GLenum
pattern GL_EYE_DISTANCE_TO_POINT_SGIS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_LINEAR_NV :: GLenum
pattern GL_EYE_LINE_SGIS :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_EYE_PLANE_ABSOLUTE_NV :: GLenum
pattern GL_EYE_POINT_SGIS :: GLenum
pattern GL_EYE_RADIAL_NV :: GLenum
pattern GL_E_TIMES_F_NV :: GLenum
pattern GL_FACTOR_ALPHA_MODULATE_IMG :: GLenum
pattern GL_FACTOR_MAX_AMD :: GLenum
pattern GL_FACTOR_MIN_AMD :: GLenum
pattern GL_FAILURE_NV :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FENCE_APPLE :: GLenum
pattern GL_FENCE_CONDITION_NV :: GLenum
pattern GL_FENCE_STATUS_NV :: GLenum
pattern GL_FETCH_PER_SAMPLE_ARM :: GLenum
pattern GL_FIELDS_NV :: GLenum
pattern GL_FIELD_LOWER_NV :: GLenum
pattern GL_FIELD_UPPER_NV :: GLenum
pattern GL_FILE_NAME_NV :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILL_NV :: GLenum
pattern GL_FILL_RECTANGLE_NV :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FILTER4_SGIS :: GLenum
pattern GL_FIRST_TO_REST_NV :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION_EXT :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION_OES :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_OES :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FIXED_ONLY_ARB :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT16_MAT2_AMD :: GLenum
pattern GL_FLOAT16_MAT2x3_AMD :: GLenum
pattern GL_FLOAT16_MAT2x4_AMD :: GLenum
pattern GL_FLOAT16_MAT3_AMD :: GLenum
pattern GL_FLOAT16_MAT3x2_AMD :: GLenum
pattern GL_FLOAT16_MAT3x4_AMD :: GLenum
pattern GL_FLOAT16_MAT4_AMD :: GLenum
pattern GL_FLOAT16_MAT4x2_AMD :: GLenum
pattern GL_FLOAT16_MAT4x3_AMD :: GLenum
pattern GL_FLOAT16_NV :: GLenum
pattern GL_FLOAT16_VEC2_NV :: GLenum
pattern GL_FLOAT16_VEC3_NV :: GLenum
pattern GL_FLOAT16_VEC4_NV :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV :: GLenum
pattern GL_FLOAT_CLEAR_COLOR_VALUE_NV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2_ARB :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x3_NV :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT2x4_NV :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3_ARB :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x2_NV :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT3x4_NV :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4_ARB :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x2_NV :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_MAT4x3_NV :: GLenum
pattern GL_FLOAT_R16_NV :: GLenum
pattern GL_FLOAT_R32_NV :: GLenum
pattern GL_FLOAT_RG16_NV :: GLenum
pattern GL_FLOAT_RG32_NV :: GLenum
pattern GL_FLOAT_RGB16_NV :: GLenum
pattern GL_FLOAT_RGB32_NV :: GLenum
pattern GL_FLOAT_RGBA16_NV :: GLenum
pattern GL_FLOAT_RGBA32_NV :: GLenum
pattern GL_FLOAT_RGBA_MODE_NV :: GLenum
pattern GL_FLOAT_RGBA_NV :: GLenum
pattern GL_FLOAT_RGB_NV :: GLenum
pattern GL_FLOAT_RG_NV :: GLenum
pattern GL_FLOAT_R_NV :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC2_ARB :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC3_ARB :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FLOAT_VEC4_ARB :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_EXT :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_LIST_IBM :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER_EXT :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE_EXT :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE_EXT :: GLenum
pattern GL_FOG_COORDINATE_EXT :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE_EXT :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_ADDRESS_NV :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_LENGTH_NV :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_DISTANCE_MODE_NV :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_FUNC_POINTS_SGIS :: GLenum
pattern GL_FOG_FUNC_SGIS :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_OFFSET_SGIX :: GLenum
pattern GL_FOG_OFFSET_VALUE_SGIX :: GLenum
pattern GL_FOG_SPECULAR_TEXTURE_WIN :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FONT_ASCENDER_BIT_NV :: GLbitfield
pattern GL_FONT_DESCENDER_BIT_NV :: GLbitfield
pattern GL_FONT_GLYPHS_AVAILABLE_NV :: GLenum
pattern GL_FONT_HAS_KERNING_BIT_NV :: GLbitfield
pattern GL_FONT_HEIGHT_BIT_NV :: GLbitfield
pattern GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: GLbitfield
pattern GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: GLbitfield
pattern GL_FONT_NUM_GLYPH_INDICES_BIT_NV :: GLbitfield
pattern GL_FONT_TARGET_UNAVAILABLE_NV :: GLenum
pattern GL_FONT_UNAVAILABLE_NV :: GLenum
pattern GL_FONT_UNDERLINE_POSITION_BIT_NV :: GLbitfield
pattern GL_FONT_UNDERLINE_THICKNESS_BIT_NV :: GLbitfield
pattern GL_FONT_UNINTELLIGIBLE_NV :: GLenum
pattern GL_FONT_UNITS_PER_EM_BIT_NV :: GLbitfield
pattern GL_FONT_X_MAX_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_X_MIN_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_Y_MAX_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_Y_MIN_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FORCE_BLUE_TO_ONE_NV :: GLenum
pattern GL_FORMAT_SUBSAMPLE_244_244_OML :: GLenum
pattern GL_FORMAT_SUBSAMPLE_24_24_OML :: GLenum
pattern GL_FOVEATION_ENABLE_BIT_QCOM :: GLbitfield
pattern GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM :: GLbitfield
pattern GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM :: GLbitfield
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_EVEN_EXT :: GLenum
pattern GL_FRACTIONAL_EVEN_OES :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRACTIONAL_ODD_EXT :: GLenum
pattern GL_FRACTIONAL_ODD_OES :: GLenum
pattern GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX :: GLenum
pattern GL_FRAGMENTS_INSTRUMENT_MAX_SGIX :: GLenum
pattern GL_FRAGMENTS_INSTRUMENT_SGIX :: GLenum
pattern GL_FRAGMENT_ALPHA_MODULATE_IMG :: GLenum
pattern GL_FRAGMENT_COLOR_EXT :: GLenum
pattern GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX :: GLenum
pattern GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX :: GLenum
pattern GL_FRAGMENT_COLOR_MATERIAL_SGIX :: GLenum
pattern GL_FRAGMENT_COVERAGE_COLOR_NV :: GLenum
pattern GL_FRAGMENT_COVERAGE_TO_COLOR_NV :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_DEPTH_EXT :: GLenum
pattern GL_FRAGMENT_INPUT_NV :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES :: GLenum
pattern GL_FRAGMENT_LIGHT0_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT1_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT2_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT3_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT4_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT5_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT6_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT7_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHTING_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX :: GLenum
pattern GL_FRAGMENT_MATERIAL_EXT :: GLenum
pattern GL_FRAGMENT_NORMAL_EXT :: GLenum
pattern GL_FRAGMENT_PROGRAM_ARB :: GLenum
pattern GL_FRAGMENT_PROGRAM_BINDING_NV :: GLenum
pattern GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA :: GLenum
pattern GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA :: GLenum
pattern GL_FRAGMENT_PROGRAM_CALLBACK_MESA :: GLenum
pattern GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV :: GLenum
pattern GL_FRAGMENT_PROGRAM_NV :: GLenum
pattern GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_FRAGMENT_PROGRAM_POSITION_MESA :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_ARB :: GLenum
pattern GL_FRAGMENT_SHADER_ATI :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_BIT_EXT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES :: GLenum
pattern GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT :: GLenum
pattern GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM :: GLenum
pattern GL_FRAGMENT_SHADER_INVOCATIONS :: GLenum
pattern GL_FRAGMENT_SHADER_INVOCATIONS_ARB :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ANGLE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BARRIER_BIT_EXT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BINDING_ANGLE :: GLenum
pattern GL_FRAMEBUFFER_BINDING_EXT :: GLenum
pattern GL_FRAMEBUFFER_BINDING_OES :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE_EXT :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE_OES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS_OES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_EXT :: GLenum
pattern GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM :: GLenum
pattern GL_FRAMEBUFFER_FLIP_Y_MESA :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR :: GLenum
pattern GL_FRAMEBUFFER_OES :: GLenum
pattern GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB :: GLenum
pattern GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB :: GLenum
pattern GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_SRGB_CAPABLE_EXT :: GLenum
pattern GL_FRAMEBUFFER_SRGB_EXT :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED_OES :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED_EXT :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED_OES :: GLenum
pattern GL_FRAMEZOOM_FACTOR_SGIX :: GLenum
pattern GL_FRAMEZOOM_SGIX :: GLenum
pattern GL_FRAME_NV :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_FACE_COMMAND_NV :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_RANGE_EXT :: GLenum
pattern GL_FULL_STIPPLE_HINT_PGI :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_ADD_EXT :: GLenum
pattern GL_FUNC_ADD_OES :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT_EXT :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT_OES :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT_EXT :: GLenum
pattern GL_FUNC_SUBTRACT_OES :: GLenum
pattern GL_GCCSO_SHADER_BINARY_FJ :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GENERATE_MIPMAP_HINT_SGIS :: GLenum
pattern GL_GENERATE_MIPMAP_SGIS :: GLenum
pattern GL_GENERIC_ATTRIB_NV :: GLenum
pattern GL_GEOMETRY_DEFORMATION_BIT_SGIX :: GLbitfield
pattern GL_GEOMETRY_DEFORMATION_SGIX :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE_ARB :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE_EXT :: GLenum
pattern GL_GEOMETRY_LINKED_INPUT_TYPE_EXT :: GLenum
pattern GL_GEOMETRY_LINKED_INPUT_TYPE_OES :: GLenum
pattern GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT :: GLenum
pattern GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES :: GLenum
pattern GL_GEOMETRY_LINKED_VERTICES_OUT_EXT :: GLenum
pattern GL_GEOMETRY_LINKED_VERTICES_OUT_OES :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE_ARB :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE_EXT :: GLenum
pattern GL_GEOMETRY_PROGRAM_NV :: GLenum
pattern GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_ARB :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_BIT_EXT :: GLbitfield
pattern GL_GEOMETRY_SHADER_BIT_OES :: GLbitfield
pattern GL_GEOMETRY_SHADER_EXT :: GLenum
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SHADER_INVOCATIONS_EXT :: GLenum
pattern GL_GEOMETRY_SHADER_INVOCATIONS_OES :: GLenum
pattern GL_GEOMETRY_SHADER_OES :: GLenum
pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED :: GLenum
pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT_ARB :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT_EXT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GLOBAL_ALPHA_FACTOR_SUN :: GLenum
pattern GL_GLOBAL_ALPHA_SUN :: GLenum
pattern GL_GLYPH_HAS_KERNING_BIT_NV :: GLbitfield
pattern GL_GLYPH_HEIGHT_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_X_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV :: GLbitfield
pattern GL_GLYPH_WIDTH_BIT_NV :: GLbitfield
pattern GL_GPU_ADDRESS_NV :: GLenum
pattern GL_GPU_DISJOINT_EXT :: GLenum
pattern GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX :: GLenum
pattern GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX :: GLenum
pattern GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX :: GLenum
pattern GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX :: GLenum
pattern GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX :: GLenum
pattern GL_GPU_OPTIMIZED_QCOM :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_BIT_ATI :: GLbitfield
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_INTEGER_EXT :: GLenum
pattern GL_GREEN_MAX_CLAMP_INGR :: GLenum
pattern GL_GREEN_MIN_CLAMP_INGR :: GLenum
pattern GL_GREEN_NV :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_GS_PROGRAM_BINARY_MTK :: GLenum
pattern GL_GS_SHADER_BINARY_MTK :: GLenum
pattern GL_GUILTY_CONTEXT_RESET :: GLenum
pattern GL_GUILTY_CONTEXT_RESET_ARB :: GLenum
pattern GL_GUILTY_CONTEXT_RESET_EXT :: GLenum
pattern GL_GUILTY_CONTEXT_RESET_KHR :: GLenum
pattern GL_HALF_APPLE :: GLenum
pattern GL_HALF_BIAS_NEGATE_NV :: GLenum
pattern GL_HALF_BIAS_NORMAL_NV :: GLenum
pattern GL_HALF_BIT_ATI :: GLbitfield
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HALF_FLOAT_ARB :: GLenum
pattern GL_HALF_FLOAT_NV :: GLenum
pattern GL_HALF_FLOAT_OES :: GLenum
pattern GL_HANDLE_TYPE_D3D11_IMAGE_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D12_FENCE_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D12_RESOURCE_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT :: GLenum
pattern GL_HANDLE_TYPE_OPAQUE_FD_EXT :: GLenum
pattern GL_HANDLE_TYPE_OPAQUE_WIN32_EXT :: GLenum
pattern GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT :: GLenum
pattern GL_HARDLIGHT :: GLenum
pattern GL_HARDLIGHT_KHR :: GLenum
pattern GL_HARDLIGHT_NV :: GLenum
pattern GL_HARDMIX_NV :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_HILO16_NV :: GLenum
pattern GL_HILO8_NV :: GLenum
pattern GL_HILO_NV :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_HISTOGRAM :: GLenum
pattern GL_HISTOGRAM_ALPHA_SIZE :: GLenum
pattern GL_HISTOGRAM_ALPHA_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_BLUE_SIZE :: GLenum
pattern GL_HISTOGRAM_BLUE_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_EXT :: GLenum
pattern GL_HISTOGRAM_FORMAT :: GLenum
pattern GL_HISTOGRAM_FORMAT_EXT :: GLenum
pattern GL_HISTOGRAM_GREEN_SIZE :: GLenum
pattern GL_HISTOGRAM_GREEN_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_LUMINANCE_SIZE :: GLenum
pattern GL_HISTOGRAM_LUMINANCE_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_RED_SIZE :: GLenum
pattern GL_HISTOGRAM_RED_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_SINK :: GLenum
pattern GL_HISTOGRAM_SINK_EXT :: GLenum
pattern GL_HISTOGRAM_WIDTH :: GLenum
pattern GL_HISTOGRAM_WIDTH_EXT :: GLenum
pattern GL_HI_BIAS_NV :: GLenum
pattern GL_HI_SCALE_NV :: GLenum
pattern GL_HORIZONTAL_LINE_TO_NV :: GLubyte
pattern GL_HSL_COLOR :: GLenum
pattern GL_HSL_COLOR_KHR :: GLenum
pattern GL_HSL_COLOR_NV :: GLenum
pattern GL_HSL_HUE :: GLenum
pattern GL_HSL_HUE_KHR :: GLenum
pattern GL_HSL_HUE_NV :: GLenum
pattern GL_HSL_LUMINOSITY :: GLenum
pattern GL_HSL_LUMINOSITY_KHR :: GLenum
pattern GL_HSL_LUMINOSITY_NV :: GLenum
pattern GL_HSL_SATURATION :: GLenum
pattern GL_HSL_SATURATION_KHR :: GLenum
pattern GL_HSL_SATURATION_NV :: GLenum
pattern GL_IDENTITY_NV :: GLenum
pattern GL_IGNORE_BORDER_HP :: GLenum
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_1D_ARRAY_EXT :: GLenum
pattern GL_IMAGE_1D_EXT :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_ARRAY_EXT :: GLenum
pattern GL_IMAGE_2D_EXT :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_2D_RECT_EXT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_3D_EXT :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_ACCESS_EXT :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_FORMAT_EXT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LAYERED_EXT :: GLenum
pattern GL_IMAGE_BINDING_LAYER_EXT :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_LEVEL_EXT :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BINDING_NAME_EXT :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_BUFFER_EXT :: GLenum
pattern GL_IMAGE_BUFFER_OES :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_EXT :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
pattern GL_IMAGE_CUBIC_WEIGHT_HP :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_MAG_FILTER_HP :: GLenum
pattern GL_IMAGE_MIN_FILTER_HP :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_ROTATE_ANGLE_HP :: GLenum
pattern GL_IMAGE_ROTATE_ORIGIN_X_HP :: GLenum
pattern GL_IMAGE_ROTATE_ORIGIN_Y_HP :: GLenum
pattern GL_IMAGE_SCALE_X_HP :: GLenum
pattern GL_IMAGE_SCALE_Y_HP :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMAGE_TRANSFORM_2D_HP :: GLenum
pattern GL_IMAGE_TRANSLATE_X_HP :: GLenum
pattern GL_IMAGE_TRANSLATE_Y_HP :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE_OES :: GLenum
pattern GL_INCLUSIVE_EXT :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INCR_WRAP_EXT :: GLenum
pattern GL_INCR_WRAP_OES :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_ADDRESS_NV :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_INDEX_ARRAY_COUNT_EXT :: GLenum
pattern GL_INDEX_ARRAY_EXT :: GLenum
pattern GL_INDEX_ARRAY_LENGTH_NV :: GLenum
pattern GL_INDEX_ARRAY_LIST_IBM :: GLenum
pattern GL_INDEX_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_POINTER_EXT :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_STRIDE_EXT :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_ARRAY_TYPE_EXT :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_BIT_PGI :: GLbitfield
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MATERIAL_EXT :: GLenum
pattern GL_INDEX_MATERIAL_FACE_EXT :: GLenum
pattern GL_INDEX_MATERIAL_PARAMETER_EXT :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_TEST_EXT :: GLenum
pattern GL_INDEX_TEST_FUNC_EXT :: GLenum
pattern GL_INDEX_TEST_REF_EXT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET_ARB :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET_EXT :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET_KHR :: GLenum
pattern GL_INSTRUMENT_BUFFER_POINTER_SGIX :: GLenum
pattern GL_INSTRUMENT_MEASUREMENTS_SGIX :: GLenum
pattern GL_INT :: GLenum
pattern GL_INT16_NV :: GLenum
pattern GL_INT16_VEC2_NV :: GLenum
pattern GL_INT16_VEC3_NV :: GLenum
pattern GL_INT16_VEC4_NV :: GLenum
pattern GL_INT64_ARB :: GLenum
pattern GL_INT64_NV :: GLenum
pattern GL_INT64_VEC2_ARB :: GLenum
pattern GL_INT64_VEC2_NV :: GLenum
pattern GL_INT64_VEC3_ARB :: GLenum
pattern GL_INT64_VEC3_NV :: GLenum
pattern GL_INT64_VEC4_ARB :: GLenum
pattern GL_INT64_VEC4_NV :: GLenum
pattern GL_INT8_NV :: GLenum
pattern GL_INT8_VEC2_NV :: GLenum
pattern GL_INT8_VEC3_NV :: GLenum
pattern GL_INT8_VEC4_NV :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY12_EXT :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY16F_ARB :: GLenum
pattern GL_INTENSITY16I_EXT :: GLenum
pattern GL_INTENSITY16UI_EXT :: GLenum
pattern GL_INTENSITY16_EXT :: GLenum
pattern GL_INTENSITY16_SNORM :: GLenum
pattern GL_INTENSITY32F_ARB :: GLenum
pattern GL_INTENSITY32I_EXT :: GLenum
pattern GL_INTENSITY32UI_EXT :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY4_EXT :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTENSITY8I_EXT :: GLenum
pattern GL_INTENSITY8UI_EXT :: GLenum
pattern GL_INTENSITY8_EXT :: GLenum
pattern GL_INTENSITY8_SNORM :: GLenum
pattern GL_INTENSITY_EXT :: GLenum
pattern GL_INTENSITY_FLOAT16_APPLE :: GLenum
pattern GL_INTENSITY_FLOAT16_ATI :: GLenum
pattern GL_INTENSITY_FLOAT32_APPLE :: GLenum
pattern GL_INTENSITY_FLOAT32_ATI :: GLenum
pattern GL_INTENSITY_SNORM :: GLenum
pattern GL_INTERLACE_OML :: GLenum
pattern GL_INTERLACE_READ_INGR :: GLenum
pattern GL_INTERLACE_READ_OML :: GLenum
pattern GL_INTERLACE_SGIX :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERLEAVED_ATTRIBS_EXT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS_NV :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INTERPOLATE_ARB :: GLenum
pattern GL_INTERPOLATE_EXT :: GLenum
pattern GL_INT_10_10_10_2_OES :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY_EXT :: GLenum
pattern GL_INT_IMAGE_1D_EXT :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY_EXT :: GLenum
pattern GL_INT_IMAGE_2D_EXT :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_2D_RECT_EXT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_3D_EXT :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_BUFFER_EXT :: GLenum
pattern GL_INT_IMAGE_BUFFER_OES :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_EXT :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
pattern GL_INT_SAMPLER_1D_EXT :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
pattern GL_INT_SAMPLER_2D_EXT :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_2D_RECT_EXT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_3D_EXT :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_BUFFER_AMD :: GLenum
pattern GL_INT_SAMPLER_BUFFER_EXT :: GLenum
pattern GL_INT_SAMPLER_BUFFER_OES :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_EXT :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
pattern GL_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC2_ARB :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC3_ARB :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INT_VEC4_ARB :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION_EXT :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION_OES :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVARIANT_DATATYPE_EXT :: GLenum
pattern GL_INVARIANT_EXT :: GLenum
pattern GL_INVARIANT_VALUE_EXT :: GLenum
pattern GL_INVERSE_NV :: GLenum
pattern GL_INVERSE_TRANSPOSE_NV :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_INVERTED_SCREEN_W_REND :: GLenum
pattern GL_INVERT_OVG_NV :: GLenum
pattern GL_INVERT_RGB_NV :: GLenum
pattern GL_IR_INSTRUMENT1_SGIX :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_ISOLINES_EXT :: GLenum
pattern GL_ISOLINES_OES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_PER_PATCH_EXT :: GLenum
pattern GL_IS_PER_PATCH_OES :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_ITALIC_BIT_NV :: GLbitfield
pattern GL_IUI_N3F_V2F_EXT :: GLenum
pattern GL_IUI_N3F_V3F_EXT :: GLenum
pattern GL_IUI_V2F_EXT :: GLenum
pattern GL_IUI_V3F_EXT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LARGE_CCW_ARC_TO_NV :: GLubyte
pattern GL_LARGE_CW_ARC_TO_NV :: GLubyte
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAST_VERTEX_CONVENTION_EXT :: GLenum
pattern GL_LAST_VERTEX_CONVENTION_OES :: GLenum
pattern GL_LAST_VIDEO_CAPTURE_STATUS_NV :: GLenum
pattern GL_LAYER_NV :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX_EXT :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX_OES :: GLenum
pattern GL_LAYOUT_COLOR_ATTACHMENT_EXT :: GLenum
pattern GL_LAYOUT_DEFAULT_INTEL :: GLenum
pattern GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT :: GLenum
pattern GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT :: GLenum
pattern GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT :: GLenum
pattern GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT :: GLenum
pattern GL_LAYOUT_GENERAL_EXT :: GLenum
pattern GL_LAYOUT_LINEAR_CPU_CACHED_INTEL :: GLenum
pattern GL_LAYOUT_LINEAR_INTEL :: GLenum
pattern GL_LAYOUT_SHADER_READ_ONLY_EXT :: GLenum
pattern GL_LAYOUT_TRANSFER_DST_EXT :: GLenum
pattern GL_LAYOUT_TRANSFER_SRC_EXT :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LERP_ATI :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LGPU_SEPARATE_STORAGE_BIT_NVX :: GLbitfield
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTEN :: GLenum
pattern GL_LIGHTEN_KHR :: GLenum
pattern GL_LIGHTEN_NV :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_ENV_MODE_SGIX :: GLenum
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL_EXT :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEARBURN_NV :: GLenum
pattern GL_LINEARDODGE_NV :: GLenum
pattern GL_LINEARLIGHT_NV :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_CLIPMAP_LINEAR_SGIX :: GLenum
pattern GL_LINEAR_CLIPMAP_NEAREST_SGIX :: GLenum
pattern GL_LINEAR_DETAIL_ALPHA_SGIS :: GLenum
pattern GL_LINEAR_DETAIL_COLOR_SGIS :: GLenum
pattern GL_LINEAR_DETAIL_SGIS :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINEAR_SHARPEN_ALPHA_SGIS :: GLenum
pattern GL_LINEAR_SHARPEN_COLOR_SGIS :: GLenum
pattern GL_LINEAR_SHARPEN_SGIS :: GLenum
pattern GL_LINEAR_TILING_EXT :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINES_ADJACENCY_ARB :: GLenum
pattern GL_LINES_ADJACENCY_EXT :: GLenum
pattern GL_LINES_ADJACENCY_OES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_NV :: GLenum
pattern GL_LINE_QUALITY_HINT_SGIX :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_STRIP_ADJACENCY_ARB :: GLenum
pattern GL_LINE_STRIP_ADJACENCY_EXT :: GLenum
pattern GL_LINE_STRIP_ADJACENCY_OES :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_TO_NV :: GLubyte
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_COMMAND_NV :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LIST_PRIORITY_SGIX :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOCAL_CONSTANT_DATATYPE_EXT :: GLenum
pattern GL_LOCAL_CONSTANT_EXT :: GLenum
pattern GL_LOCAL_CONSTANT_VALUE_EXT :: GLenum
pattern GL_LOCAL_EXT :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_COMPONENT :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOCATION_INDEX_EXT :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET_ARB :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET_EXT :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET_KHR :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOWER_LEFT_EXT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_LO_BIAS_NV :: GLenum
pattern GL_LO_SCALE_NV :: GLenum
pattern GL_LUID_SIZE_EXT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12_EXT :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE12_ALPHA4_EXT :: GLenum
pattern GL_LUMINANCE12_EXT :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16F_ARB :: GLenum
pattern GL_LUMINANCE16F_EXT :: GLenum
pattern GL_LUMINANCE16I_EXT :: GLenum
pattern GL_LUMINANCE16UI_EXT :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16_EXT :: GLenum
pattern GL_LUMINANCE16_ALPHA16_SNORM :: GLenum
pattern GL_LUMINANCE16_EXT :: GLenum
pattern GL_LUMINANCE16_SNORM :: GLenum
pattern GL_LUMINANCE32F_ARB :: GLenum
pattern GL_LUMINANCE32F_EXT :: GLenum
pattern GL_LUMINANCE32I_EXT :: GLenum
pattern GL_LUMINANCE32UI_EXT :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4_EXT :: GLenum
pattern GL_LUMINANCE4_ALPHA4_OES :: GLenum
pattern GL_LUMINANCE4_EXT :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE6_ALPHA2_EXT :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8I_EXT :: GLenum
pattern GL_LUMINANCE8UI_EXT :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8_EXT :: GLenum
pattern GL_LUMINANCE8_ALPHA8_OES :: GLenum
pattern GL_LUMINANCE8_ALPHA8_SNORM :: GLenum
pattern GL_LUMINANCE8_EXT :: GLenum
pattern GL_LUMINANCE8_OES :: GLenum
pattern GL_LUMINANCE8_SNORM :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_LUMINANCE_ALPHA16F_ARB :: GLenum
pattern GL_LUMINANCE_ALPHA16F_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA16I_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA16UI_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA32F_ARB :: GLenum
pattern GL_LUMINANCE_ALPHA32F_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA32I_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA32UI_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA8I_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA8UI_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA_FLOAT16_APPLE :: GLenum
pattern GL_LUMINANCE_ALPHA_FLOAT16_ATI :: GLenum
pattern GL_LUMINANCE_ALPHA_FLOAT32_APPLE :: GLenum
pattern GL_LUMINANCE_ALPHA_FLOAT32_ATI :: GLenum
pattern GL_LUMINANCE_ALPHA_INTEGER_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA_SNORM :: GLenum
pattern GL_LUMINANCE_FLOAT16_APPLE :: GLenum
pattern GL_LUMINANCE_FLOAT16_ATI :: GLenum
pattern GL_LUMINANCE_FLOAT32_APPLE :: GLenum
pattern GL_LUMINANCE_FLOAT32_ATI :: GLenum
pattern GL_LUMINANCE_INTEGER_EXT :: GLenum
pattern GL_LUMINANCE_SNORM :: GLenum
pattern GL_MAD_ATI :: GLenum
pattern GL_MAGNITUDE_BIAS_NV :: GLenum
pattern GL_MAGNITUDE_SCALE_NV :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MALI_PROGRAM_BINARY_ARM :: GLenum
pattern GL_MALI_SHADER_BINARY_ARM :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP1_BINORMAL_EXT :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TANGENT_EXT :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB0_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB10_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB11_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB12_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB13_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB14_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB15_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB1_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB2_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB3_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB4_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB5_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB6_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB7_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB8_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB9_4_NV :: GLenum
pattern GL_MAP2_BINORMAL_EXT :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TANGENT_EXT :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB0_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB10_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB11_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB12_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB13_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB14_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB15_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB1_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB2_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB3_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB4_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB5_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB6_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB7_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB8_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB9_4_NV :: GLenum
pattern GL_MAP_ATTRIB_U_ORDER_NV :: GLenum
pattern GL_MAP_ATTRIB_V_ORDER_NV :: GLenum
pattern GL_MAP_COHERENT_BIT :: GLbitfield
pattern GL_MAP_COHERENT_BIT_EXT :: GLbitfield
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_FLUSH_EXPLICIT_BIT_EXT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT_EXT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT_EXT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT_EXT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_READ_BIT_EXT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_TESSELLATION_NV :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT_EXT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT_EXT :: GLbitfield
pattern GL_MATERIAL_SIDE_HINT_PGI :: GLenum
pattern GL_MATRIX0_ARB :: GLenum
pattern GL_MATRIX0_NV :: GLenum
pattern GL_MATRIX10_ARB :: GLenum
pattern GL_MATRIX11_ARB :: GLenum
pattern GL_MATRIX12_ARB :: GLenum
pattern GL_MATRIX13_ARB :: GLenum
pattern GL_MATRIX14_ARB :: GLenum
pattern GL_MATRIX15_ARB :: GLenum
pattern GL_MATRIX16_ARB :: GLenum
pattern GL_MATRIX17_ARB :: GLenum
pattern GL_MATRIX18_ARB :: GLenum
pattern GL_MATRIX19_ARB :: GLenum
pattern GL_MATRIX1_ARB :: GLenum
pattern GL_MATRIX1_NV :: GLenum
pattern GL_MATRIX20_ARB :: GLenum
pattern GL_MATRIX21_ARB :: GLenum
pattern GL_MATRIX22_ARB :: GLenum
pattern GL_MATRIX23_ARB :: GLenum
pattern GL_MATRIX24_ARB :: GLenum
pattern GL_MATRIX25_ARB :: GLenum
pattern GL_MATRIX26_ARB :: GLenum
pattern GL_MATRIX27_ARB :: GLenum
pattern GL_MATRIX28_ARB :: GLenum
pattern GL_MATRIX29_ARB :: GLenum
pattern GL_MATRIX2_ARB :: GLenum
pattern GL_MATRIX2_NV :: GLenum
pattern GL_MATRIX30_ARB :: GLenum
pattern GL_MATRIX31_ARB :: GLenum
pattern GL_MATRIX3_ARB :: GLenum
pattern GL_MATRIX3_NV :: GLenum
pattern GL_MATRIX4_ARB :: GLenum
pattern GL_MATRIX4_NV :: GLenum
pattern GL_MATRIX5_ARB :: GLenum
pattern GL_MATRIX5_NV :: GLenum
pattern GL_MATRIX6_ARB :: GLenum
pattern GL_MATRIX6_NV :: GLenum
pattern GL_MATRIX7_ARB :: GLenum
pattern GL_MATRIX7_NV :: GLenum
pattern GL_MATRIX8_ARB :: GLenum
pattern GL_MATRIX9_ARB :: GLenum
pattern GL_MATRIX_EXT :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_OES :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_POINTER_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_POINTER_OES :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_SIZE_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_SIZE_OES :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_STRIDE_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_STRIDE_OES :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_TYPE_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_TYPE_OES :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MATRIX_PALETTE_ARB :: GLenum
pattern GL_MATRIX_PALETTE_OES :: GLenum
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI :: GLbitfield
pattern GL_MAT_AMBIENT_BIT_PGI :: GLbitfield
pattern GL_MAT_COLOR_INDEXES_BIT_PGI :: GLbitfield
pattern GL_MAT_DIFFUSE_BIT_PGI :: GLbitfield
pattern GL_MAT_EMISSION_BIT_PGI :: GLbitfield
pattern GL_MAT_SHININESS_BIT_PGI :: GLbitfield
pattern GL_MAT_SPECULAR_BIT_PGI :: GLbitfield
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE_EXT :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE_OES :: GLenum
pattern GL_MAX_4D_TEXTURE_SIZE_SGIS :: GLenum
pattern GL_MAX_ACTIVE_LIGHTS_SGIX :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS_EXT :: GLenum
pattern GL_MAX_ASYNC_DRAW_PIXELS_SGIX :: GLenum
pattern GL_MAX_ASYNC_HISTOGRAM_SGIX :: GLenum
pattern GL_MAX_ASYNC_READ_PIXELS_SGIX :: GLenum
pattern GL_MAX_ASYNC_TEX_IMAGE_SGIX :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_BINDABLE_UNIFORM_SIZE_EXT :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIPMAP_DEPTH_SGIX :: GLenum
pattern GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_DISTANCES_APPLE :: GLenum
pattern GL_MAX_CLIP_DISTANCES_EXT :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_CLIP_PLANES_IMG :: GLenum
pattern GL_MAX_COARSE_FRAGMENT_SAMPLES_NV :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS_EXT :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS_NV :: GLenum
pattern GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD :: GLenum
pattern GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD :: GLenum
pattern GL_MAX_COLOR_MATRIX_STACK_DEPTH :: GLenum
pattern GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT :: GLenum
pattern GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB :: GLenum
pattern GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB :: GLenum
pattern GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CONVOLUTION_HEIGHT :: GLenum
pattern GL_MAX_CONVOLUTION_HEIGHT_EXT :: GLenum
pattern GL_MAX_CONVOLUTION_WIDTH :: GLenum
pattern GL_MAX_CONVOLUTION_WIDTH_EXT :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES :: GLenum
pattern GL_MAX_CULL_DISTANCES :: GLenum
pattern GL_MAX_CULL_DISTANCES_EXT :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES_KHR :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH_AMD :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH_ARB :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH_KHR :: GLenum
pattern GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV :: GLenum
pattern GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV :: GLenum
pattern GL_MAX_DEFORMATION_ORDER_SGIX :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DETACHED_BUFFERS_NV :: GLenum
pattern GL_MAX_DETACHED_TEXTURES_NV :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DRAW_BUFFERS_ARB :: GLenum
pattern GL_MAX_DRAW_BUFFERS_ATI :: GLenum
pattern GL_MAX_DRAW_BUFFERS_EXT :: GLenum
pattern GL_MAX_DRAW_BUFFERS_NV :: GLenum
pattern GL_MAX_DRAW_MESH_TASKS_COUNT_NV :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_INDICES_EXT :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES_EXT :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_EXT :: GLenum
pattern GL_MAX_FOG_FUNC_POINTS_SGIS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES :: GLenum
pattern GL_MAX_FRAGMENT_LIGHTS_SGIX :: GLenum
pattern GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS_EXT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS_OES :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_FRAMEZOOM_FACTOR_SGIX :: GLenum
pattern GL_MAX_GENERAL_COMBINERS_NV :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
pattern GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES :: GLenum
pattern GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES :: GLenum
pattern GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB :: GLenum
pattern GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_SAMPLES_EXT :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_IMAGE_UNITS_EXT :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LABEL_LENGTH_KHR :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_LGPU_GPUS_NVX :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MAP_TESSELLATION_NV :: GLenum
pattern GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB :: GLenum
pattern GL_MAX_MESH_ATOMIC_COUNTERS_NV :: GLenum
pattern GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV :: GLenum
pattern GL_MAX_MESH_IMAGE_UNIFORMS_NV :: GLenum
pattern GL_MAX_MESH_OUTPUT_PRIMITIVES_NV :: GLenum
pattern GL_MAX_MESH_OUTPUT_VERTICES_NV :: GLenum
pattern GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV :: GLenum
pattern GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV :: GLenum
pattern GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV :: GLenum
pattern GL_MAX_MESH_UNIFORM_BLOCKS_NV :: GLenum
pattern GL_MAX_MESH_UNIFORM_COMPONENTS_NV :: GLenum
pattern GL_MAX_MESH_VIEWS_NV :: GLenum
pattern GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV :: GLenum
pattern GL_MAX_MESH_WORK_GROUP_SIZE_NV :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
pattern GL_MAX_MULTIVIEW_BUFFERS_EXT :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT :: GLenum
pattern GL_MAX_PALETTE_MATRICES_ARB :: GLenum
pattern GL_MAX_PALETTE_MATRICES_OES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PATCH_VERTICES_EXT :: GLenum
pattern GL_MAX_PATCH_VERTICES_OES :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
pattern GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
pattern GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_ATTRIBS_ARB :: GLenum
pattern GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
pattern GL_MAX_PROGRAM_CALL_DEPTH_NV :: GLenum
pattern GL_MAX_PROGRAM_ENV_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: GLenum
pattern GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV :: GLenum
pattern GL_MAX_PROGRAM_GENERIC_RESULTS_NV :: GLenum
pattern GL_MAX_PROGRAM_IF_DEPTH_NV :: GLenum
pattern GL_MAX_PROGRAM_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_LOOP_COUNT_NV :: GLenum
pattern GL_MAX_PROGRAM_LOOP_DEPTH_NV :: GLenum
pattern GL_MAX_PROGRAM_MATRICES_ARB :: GLenum
pattern GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_OUTPUT_VERTICES_NV :: GLenum
pattern GL_MAX_PROGRAM_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV :: GLenum
pattern GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV :: GLenum
pattern GL_MAX_PROGRAM_PATCH_ATTRIBS_NV :: GLenum
pattern GL_MAX_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
pattern GL_MAX_PROGRAM_SUBROUTINE_NUM_NV :: GLenum
pattern GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV :: GLenum
pattern GL_MAX_PROGRAM_TEMPORARIES_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET_NV :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
pattern GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RASTER_SAMPLES_EXT :: GLenum
pattern GL_MAX_RATIONAL_EVAL_ORDER_NV :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE_NV :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE_EXT :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE_OES :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLES_ANGLE :: GLenum
pattern GL_MAX_SAMPLES_APPLE :: GLenum
pattern GL_MAX_SAMPLES_EXT :: GLenum
pattern GL_MAX_SAMPLES_IMG :: GLenum
pattern GL_MAX_SAMPLES_NV :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS_NV :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT_APPLE :: GLenum
pattern GL_MAX_SHADER_BUFFER_ADDRESS_NV :: GLenum
pattern GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT :: GLenum
pattern GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT :: GLenum
pattern GL_MAX_SHADER_COMPILER_THREADS_ARB :: GLenum
pattern GL_MAX_SHADER_COMPILER_THREADS_KHR :: GLenum
pattern GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT :: GLenum
pattern GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM :: GLenum
pattern GL_MAX_SHININESS_NV :: GLenum
pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD :: GLenum
pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB :: GLenum
pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT :: GLenum
pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB :: GLenum
pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT :: GLenum
pattern GL_MAX_SPARSE_TEXTURE_SIZE_AMD :: GLenum
pattern GL_MAX_SPARSE_TEXTURE_SIZE_ARB :: GLenum
pattern GL_MAX_SPARSE_TEXTURE_SIZE_EXT :: GLenum
pattern GL_MAX_SPOT_EXPONENT_NV :: GLenum
pattern GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TASK_ATOMIC_COUNTERS_NV :: GLenum
pattern GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV :: GLenum
pattern GL_MAX_TASK_IMAGE_UNIFORMS_NV :: GLenum
pattern GL_MAX_TASK_OUTPUT_COUNT_NV :: GLenum
pattern GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV :: GLenum
pattern GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV :: GLenum
pattern GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV :: GLenum
pattern GL_MAX_TASK_UNIFORM_BLOCKS_NV :: GLenum
pattern GL_MAX_TASK_UNIFORM_COMPONENTS_NV :: GLenum
pattern GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV :: GLenum
pattern GL_MAX_TASK_WORK_GROUP_SIZE_NV :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL_EXT :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL_OES :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS_OES :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE_ARB :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE_EXT :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE_OES :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_COORDS_ARB :: GLenum
pattern GL_MAX_TEXTURE_COORDS_NV :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS_NV :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS_EXT :: GLenum
pattern GL_MAX_TEXTURE_MAX_ANISOTROPY :: GLenum
pattern GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_UNITS_ARB :: GLenum
pattern GL_MAX_TRACK_MATRICES_NV :: GLenum
pattern GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS_EXT :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_FLOATS_ARB :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS_ARB :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
pattern GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT :: GLenum
pattern GL_MAX_VERTEX_HINT_PGI :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_LOCALS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_SHADER_VARIANTS_EXT :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_STREAMS_ATI :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VERTEX_UNITS_ARB :: GLenum
pattern GL_MAX_VERTEX_UNITS_OES :: GLenum
pattern GL_MAX_VERTEX_VARYING_COMPONENTS_ARB :: GLenum
pattern GL_MAX_VERTEX_VARYING_COMPONENTS_EXT :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORTS_NV :: GLenum
pattern GL_MAX_VIEWPORTS_OES :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_VIEWS_OVR :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MAX_WINDOW_RECTANGLES_EXT :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MEMORY_ATTACHABLE_ALIGNMENT_NV :: GLenum
pattern GL_MEMORY_ATTACHABLE_NV :: GLenum
pattern GL_MEMORY_ATTACHABLE_SIZE_NV :: GLenum
pattern GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV :: GLenum
pattern GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV :: GLenum
pattern GL_MESH_OUTPUT_TYPE_NV :: GLenum
pattern GL_MESH_PRIMITIVES_OUT_NV :: GLenum
pattern GL_MESH_SHADER_BIT_NV :: GLbitfield
pattern GL_MESH_SHADER_NV :: GLenum
pattern GL_MESH_SUBROUTINE_NV :: GLenum
pattern GL_MESH_SUBROUTINE_UNIFORM_NV :: GLenum
pattern GL_MESH_VERTICES_OUT_NV :: GLenum
pattern GL_MESH_WORK_GROUP_SIZE_NV :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINMAX :: GLenum
pattern GL_MINMAX_EXT :: GLenum
pattern GL_MINMAX_FORMAT :: GLenum
pattern GL_MINMAX_FORMAT_EXT :: GLenum
pattern GL_MINMAX_SINK :: GLenum
pattern GL_MINMAX_SINK_EXT :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MINUS_CLAMPED_NV :: GLenum
pattern GL_MINUS_NV :: GLenum
pattern GL_MIN_EXT :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES :: GLenum
pattern GL_MIN_LOD_WARNING_AMD :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET_NV :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE_ARB :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE_OES :: GLenum
pattern GL_MIN_SPARSE_LEVEL_AMD :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MIRRORED_REPEAT_ARB :: GLenum
pattern GL_MIRRORED_REPEAT_IBM :: GLenum
pattern GL_MIRRORED_REPEAT_OES :: GLenum
pattern GL_MIRROR_CLAMP_ATI :: GLenum
pattern GL_MIRROR_CLAMP_EXT :: GLenum
pattern GL_MIRROR_CLAMP_TO_BORDER_EXT :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE_ATI :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE_EXT :: GLenum
pattern GL_MITER_REVERT_NV :: GLenum
pattern GL_MITER_TRUNCATE_NV :: GLenum
pattern GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV :: GLenum
pattern GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW0_ARB :: GLenum
pattern GL_MODELVIEW0_EXT :: GLenum
pattern GL_MODELVIEW0_MATRIX_EXT :: GLenum
pattern GL_MODELVIEW0_STACK_DEPTH_EXT :: GLenum
pattern GL_MODELVIEW10_ARB :: GLenum
pattern GL_MODELVIEW11_ARB :: GLenum
pattern GL_MODELVIEW12_ARB :: GLenum
pattern GL_MODELVIEW13_ARB :: GLenum
pattern GL_MODELVIEW14_ARB :: GLenum
pattern GL_MODELVIEW15_ARB :: GLenum
pattern GL_MODELVIEW16_ARB :: GLenum
pattern GL_MODELVIEW17_ARB :: GLenum
pattern GL_MODELVIEW18_ARB :: GLenum
pattern GL_MODELVIEW19_ARB :: GLenum
pattern GL_MODELVIEW1_ARB :: GLenum
pattern GL_MODELVIEW1_EXT :: GLenum
pattern GL_MODELVIEW1_MATRIX_EXT :: GLenum
pattern GL_MODELVIEW1_STACK_DEPTH_EXT :: GLenum
pattern GL_MODELVIEW20_ARB :: GLenum
pattern GL_MODELVIEW21_ARB :: GLenum
pattern GL_MODELVIEW22_ARB :: GLenum
pattern GL_MODELVIEW23_ARB :: GLenum
pattern GL_MODELVIEW24_ARB :: GLenum
pattern GL_MODELVIEW25_ARB :: GLenum
pattern GL_MODELVIEW26_ARB :: GLenum
pattern GL_MODELVIEW27_ARB :: GLenum
pattern GL_MODELVIEW28_ARB :: GLenum
pattern GL_MODELVIEW29_ARB :: GLenum
pattern GL_MODELVIEW2_ARB :: GLenum
pattern GL_MODELVIEW30_ARB :: GLenum
pattern GL_MODELVIEW31_ARB :: GLenum
pattern GL_MODELVIEW3_ARB :: GLenum
pattern GL_MODELVIEW4_ARB :: GLenum
pattern GL_MODELVIEW5_ARB :: GLenum
pattern GL_MODELVIEW6_ARB :: GLenum
pattern GL_MODELVIEW7_ARB :: GLenum
pattern GL_MODELVIEW8_ARB :: GLenum
pattern GL_MODELVIEW9_ARB :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
pattern GL_MODELVIEW_PROJECTION_NV :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MODULATE_ADD_ATI :: GLenum
pattern GL_MODULATE_COLOR_IMG :: GLenum
pattern GL_MODULATE_SIGNED_ADD_ATI :: GLenum
pattern GL_MODULATE_SUBTRACT_ATI :: GLenum
pattern GL_MOVE_TO_CONTINUES_NV :: GLenum
pattern GL_MOVE_TO_NV :: GLubyte
pattern GL_MOVE_TO_RESETS_NV :: GLenum
pattern GL_MOV_ATI :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTICAST_GPUS_NV :: GLenum
pattern GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
pattern GL_MULTIPLY :: GLenum
pattern GL_MULTIPLY_KHR :: GLenum
pattern GL_MULTIPLY_NV :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLES_NV :: GLenum
pattern GL_MULTISAMPLE_3DFX :: GLenum
pattern GL_MULTISAMPLE_ARB :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_MULTISAMPLE_BIT_3DFX :: GLbitfield
pattern GL_MULTISAMPLE_BIT_ARB :: GLbitfield
pattern GL_MULTISAMPLE_BIT_EXT :: GLbitfield
pattern GL_MULTISAMPLE_BUFFER_BIT0_QCOM :: GLbitfield
pattern GL_MULTISAMPLE_BUFFER_BIT1_QCOM :: GLbitfield
pattern GL_MULTISAMPLE_BUFFER_BIT2_QCOM :: GLbitfield
pattern GL_MULTISAMPLE_BUFFER_BIT3_QCOM :: GLbitfield
pattern GL_MULTISAMPLE_BUFFER_BIT4_QCOM :: GLbitfield
pattern GL_MULTISAMPLE_BUFFER_BIT5_QCOM :: GLbitfield
pattern GL_MULTISAMPLE_BUFFER_BIT6_QCOM :: GLbitfield
pattern GL_MULTISAMPLE_BUFFER_BIT7_QCOM :: GLbitfield
pattern GL_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
pattern GL_MULTISAMPLE_EXT :: GLenum
pattern GL_MULTISAMPLE_FILTER_HINT_NV :: GLenum
pattern GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB :: GLenum
pattern GL_MULTISAMPLE_LINE_WIDTH_RANGE :: GLenum
pattern GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB :: GLenum
pattern GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: GLenum
pattern GL_MULTISAMPLE_SGIS :: GLenum
pattern GL_MULTIVIEW_EXT :: GLenum
pattern GL_MUL_ATI :: GLenum
pattern GL_MVP_MATRIX_EXT :: GLenum
pattern GL_N3F_V3F :: GLenum
pattern GL_NAMED_STRING_LENGTH_ARB :: GLenum
pattern GL_NAMED_STRING_TYPE_ARB :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI :: GLenum
pattern GL_NATIVE_GRAPHICS_END_HINT_PGI :: GLenum
pattern GL_NATIVE_GRAPHICS_HANDLE_PGI :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_CLIPMAP_LINEAR_SGIX :: GLenum
pattern GL_NEAREST_CLIPMAP_NEAREST_SGIX :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEGATE_BIT_ATI :: GLbitfield
pattern GL_NEGATIVE_ONE_EXT :: GLenum
pattern GL_NEGATIVE_ONE_TO_ONE :: GLenum
pattern GL_NEGATIVE_ONE_TO_ONE_EXT :: GLenum
pattern GL_NEGATIVE_W_EXT :: GLenum
pattern GL_NEGATIVE_X_EXT :: GLenum
pattern GL_NEGATIVE_Y_EXT :: GLenum
pattern GL_NEGATIVE_Z_EXT :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NEXT_BUFFER_NV :: GLenum
pattern GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NONE_OES :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOP_COMMAND_NV :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMALIZED_RANGE_EXT :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_ADDRESS_NV :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_NORMAL_ARRAY_COUNT_EXT :: GLenum
pattern GL_NORMAL_ARRAY_EXT :: GLenum
pattern GL_NORMAL_ARRAY_LENGTH_NV :: GLenum
pattern GL_NORMAL_ARRAY_LIST_IBM :: GLenum
pattern GL_NORMAL_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_POINTER_EXT :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE_EXT :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE_EXT :: GLenum
pattern GL_NORMAL_BIT_PGI :: GLbitfield
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NORMAL_MAP_ARB :: GLenum
pattern GL_NORMAL_MAP_EXT :: GLenum
pattern GL_NORMAL_MAP_NV :: GLenum
pattern GL_NORMAL_MAP_OES :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NO_RESET_NOTIFICATION :: GLenum
pattern GL_NO_RESET_NOTIFICATION_ARB :: GLenum
pattern GL_NO_RESET_NOTIFICATION_EXT :: GLenum
pattern GL_NO_RESET_NOTIFICATION_KHR :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
pattern GL_NUM_DEVICE_UUIDS_EXT :: GLenum
pattern GL_NUM_DOWNSAMPLE_SCALES_IMG :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_FILL_STREAMS_NV :: GLenum
pattern GL_NUM_FRAGMENT_CONSTANTS_ATI :: GLenum
pattern GL_NUM_FRAGMENT_REGISTERS_ATI :: GLenum
pattern GL_NUM_GENERAL_COMBINERS_NV :: GLenum
pattern GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI :: GLenum
pattern GL_NUM_INSTRUCTIONS_PER_PASS_ATI :: GLenum
pattern GL_NUM_INSTRUCTIONS_TOTAL_ATI :: GLenum
pattern GL_NUM_LOOPBACK_COMPONENTS_ATI :: GLenum
pattern GL_NUM_PASSES_ATI :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS_OES :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_NUM_SPARSE_LEVELS_ARB :: GLenum
pattern GL_NUM_SPARSE_LEVELS_EXT :: GLenum
pattern GL_NUM_SPIR_V_EXTENSIONS :: GLenum
pattern GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD :: GLenum
pattern GL_NUM_TILING_TYPES_EXT :: GLenum
pattern GL_NUM_VIDEO_CAPTURE_STREAMS_NV :: GLenum
pattern GL_NUM_VIRTUAL_PAGE_SIZES_ARB :: GLenum
pattern GL_NUM_VIRTUAL_PAGE_SIZES_EXT :: GLenum
pattern GL_NUM_WINDOW_RECTANGLES_EXT :: GLenum
pattern GL_OBJECT_ACTIVE_ATTRIBUTES_ARB :: GLenum
pattern GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB :: GLenum
pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum
pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum
pattern GL_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum
pattern GL_OBJECT_BUFFER_SIZE_ATI :: GLenum
pattern GL_OBJECT_BUFFER_USAGE_ATI :: GLenum
pattern GL_OBJECT_COMPILE_STATUS_ARB :: GLenum
pattern GL_OBJECT_DELETE_STATUS_ARB :: GLenum
pattern GL_OBJECT_DISTANCE_TO_LINE_SGIS :: GLenum
pattern GL_OBJECT_DISTANCE_TO_POINT_SGIS :: GLenum
pattern GL_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_LINEAR_NV :: GLenum
pattern GL_OBJECT_LINE_SGIS :: GLenum
pattern GL_OBJECT_LINK_STATUS_ARB :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_POINT_SGIS :: GLenum
pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum
pattern GL_OBJECT_SUBTYPE_ARB :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OBJECT_TYPE_APPLE :: GLenum
pattern GL_OBJECT_TYPE_ARB :: GLenum
pattern GL_OBJECT_VALIDATE_STATUS_ARB :: GLenum
pattern GL_OCCLUSION_QUERY_EVENT_MASK_AMD :: GLenum
pattern GL_OCCLUSION_TEST_HP :: GLenum
pattern GL_OCCLUSION_TEST_RESULT_HP :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV :: GLenum
pattern GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_OFFSET_HILO_TEXTURE_2D_NV :: GLenum
pattern GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV :: GLenum
pattern GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV :: GLenum
pattern GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
pattern GL_OFFSET_TEXTURE_2D_BIAS_NV :: GLenum
pattern GL_OFFSET_TEXTURE_2D_MATRIX_NV :: GLenum
pattern GL_OFFSET_TEXTURE_2D_NV :: GLenum
pattern GL_OFFSET_TEXTURE_2D_SCALE_NV :: GLenum
pattern GL_OFFSET_TEXTURE_BIAS_NV :: GLenum
pattern GL_OFFSET_TEXTURE_MATRIX_NV :: GLenum
pattern GL_OFFSET_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
pattern GL_OFFSET_TEXTURE_SCALE_NV :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_EXT :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA_EXT :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR_EXT :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA_EXT :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR_EXT :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_ALPHA_ARB :: GLenum
pattern GL_OPERAND0_ALPHA_EXT :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND0_RGB_ARB :: GLenum
pattern GL_OPERAND0_RGB_EXT :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_ALPHA_ARB :: GLenum
pattern GL_OPERAND1_ALPHA_EXT :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND1_RGB_ARB :: GLenum
pattern GL_OPERAND1_RGB_EXT :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_ALPHA_ARB :: GLenum
pattern GL_OPERAND2_ALPHA_EXT :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OPERAND2_RGB_ARB :: GLenum
pattern GL_OPERAND2_RGB_EXT :: GLenum
pattern GL_OPERAND3_ALPHA_NV :: GLenum
pattern GL_OPERAND3_RGB_NV :: GLenum
pattern GL_OPTIMAL_TILING_EXT :: GLenum
pattern GL_OP_ADD_EXT :: GLenum
pattern GL_OP_CLAMP_EXT :: GLenum
pattern GL_OP_CROSS_PRODUCT_EXT :: GLenum
pattern GL_OP_DOT3_EXT :: GLenum
pattern GL_OP_DOT4_EXT :: GLenum
pattern GL_OP_EXP_BASE_2_EXT :: GLenum
pattern GL_OP_FLOOR_EXT :: GLenum
pattern GL_OP_FRAC_EXT :: GLenum
pattern GL_OP_INDEX_EXT :: GLenum
pattern GL_OP_LOG_BASE_2_EXT :: GLenum
pattern GL_OP_MADD_EXT :: GLenum
pattern GL_OP_MAX_EXT :: GLenum
pattern GL_OP_MIN_EXT :: GLenum
pattern GL_OP_MOV_EXT :: GLenum
pattern GL_OP_MULTIPLY_MATRIX_EXT :: GLenum
pattern GL_OP_MUL_EXT :: GLenum
pattern GL_OP_NEGATE_EXT :: GLenum
pattern GL_OP_POWER_EXT :: GLenum
pattern GL_OP_RECIP_EXT :: GLenum
pattern GL_OP_RECIP_SQRT_EXT :: GLenum
pattern GL_OP_ROUND_EXT :: GLenum
pattern GL_OP_SET_GE_EXT :: GLenum
pattern GL_OP_SET_LT_EXT :: GLenum
pattern GL_OP_SUB_EXT :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUTPUT_COLOR0_EXT :: GLenum
pattern GL_OUTPUT_COLOR1_EXT :: GLenum
pattern GL_OUTPUT_FOG_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD0_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD10_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD11_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD12_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD13_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD14_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD15_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD16_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD17_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD18_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD19_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD1_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD20_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD21_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD22_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD23_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD24_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD25_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD26_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD27_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD28_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD29_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD2_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD30_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD31_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD3_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD4_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD5_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD6_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD7_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD8_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD9_EXT :: GLenum
pattern GL_OUTPUT_VERTEX_EXT :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_OVERLAY :: GLenum
pattern GL_OVERLAY_KHR :: GLenum
pattern GL_OVERLAY_NV :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_CMYK_HINT_EXT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_COMPRESSED_SIZE_SGIX :: GLenum
pattern GL_PACK_IMAGE_DEPTH_SGIS :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT_EXT :: GLenum
pattern GL_PACK_INVERT_MESA :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_MAX_COMPRESSED_SIZE_SGIX :: GLenum
pattern GL_PACK_RESAMPLE_OML :: GLenum
pattern GL_PACK_RESAMPLE_SGIX :: GLenum
pattern GL_PACK_REVERSE_ROW_ORDER_ANGLE :: GLenum
pattern GL_PACK_ROW_BYTES_APPLE :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_IMAGES_EXT :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SKIP_VOLUMES_SGIS :: GLenum
pattern GL_PACK_SUBSAMPLE_RATE_SGIX :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PALETTE4_R5_G6_B5_OES :: GLenum
pattern GL_PALETTE4_RGB5_A1_OES :: GLenum
pattern GL_PALETTE4_RGB8_OES :: GLenum
pattern GL_PALETTE4_RGBA4_OES :: GLenum
pattern GL_PALETTE4_RGBA8_OES :: GLenum
pattern GL_PALETTE8_R5_G6_B5_OES :: GLenum
pattern GL_PALETTE8_RGB5_A1_OES :: GLenum
pattern GL_PALETTE8_RGB8_OES :: GLenum
pattern GL_PALETTE8_RGBA4_OES :: GLenum
pattern GL_PALETTE8_RGBA8_OES :: GLenum
pattern GL_PARALLEL_ARRAYS_INTEL :: GLenum
pattern GL_PARAMETER_BUFFER :: GLenum
pattern GL_PARAMETER_BUFFER_ARB :: GLenum
pattern GL_PARAMETER_BUFFER_BINDING :: GLenum
pattern GL_PARAMETER_BUFFER_BINDING_ARB :: GLenum
pattern GL_PARTIAL_SUCCESS_NV :: GLenum
pattern GL_PASS_THROUGH_NV :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCHES_EXT :: GLenum
pattern GL_PATCHES_OES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL_EXT :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL_EXT :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PATCH_VERTICES_EXT :: GLenum
pattern GL_PATCH_VERTICES_OES :: GLenum
pattern GL_PATH_CLIENT_LENGTH_NV :: GLenum
pattern GL_PATH_COMMAND_COUNT_NV :: GLenum
pattern GL_PATH_COMPUTED_LENGTH_NV :: GLenum
pattern GL_PATH_COORD_COUNT_NV :: GLenum
pattern GL_PATH_COVER_DEPTH_FUNC_NV :: GLenum
pattern GL_PATH_DASH_ARRAY_COUNT_NV :: GLenum
pattern GL_PATH_DASH_CAPS_NV :: GLenum
pattern GL_PATH_DASH_OFFSET_NV :: GLenum
pattern GL_PATH_DASH_OFFSET_RESET_NV :: GLenum
pattern GL_PATH_END_CAPS_NV :: GLenum
pattern GL_PATH_ERROR_POSITION_NV :: GLenum
pattern GL_PATH_FILL_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_FILL_COVER_MODE_NV :: GLenum
pattern GL_PATH_FILL_MASK_NV :: GLenum
pattern GL_PATH_FILL_MODE_NV :: GLenum
pattern GL_PATH_FOG_GEN_MODE_NV :: GLenum
pattern GL_PATH_FORMAT_PS_NV :: GLenum
pattern GL_PATH_FORMAT_SVG_NV :: GLenum
pattern GL_PATH_GEN_COEFF_NV :: GLenum
pattern GL_PATH_GEN_COLOR_FORMAT_NV :: GLenum
pattern GL_PATH_GEN_COMPONENTS_NV :: GLenum
pattern GL_PATH_GEN_MODE_NV :: GLenum
pattern GL_PATH_INITIAL_DASH_CAP_NV :: GLenum
pattern GL_PATH_INITIAL_END_CAP_NV :: GLenum
pattern GL_PATH_JOIN_STYLE_NV :: GLenum
pattern GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_MITER_LIMIT_NV :: GLenum
pattern GL_PATH_MODELVIEW_MATRIX_NV :: GLenum
pattern GL_PATH_MODELVIEW_NV :: GLenum
pattern GL_PATH_MODELVIEW_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_OBJECT_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_PROJECTION_MATRIX_NV :: GLenum
pattern GL_PATH_PROJECTION_NV :: GLenum
pattern GL_PATH_PROJECTION_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV :: GLenum
pattern GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV :: GLenum
pattern GL_PATH_STENCIL_FUNC_NV :: GLenum
pattern GL_PATH_STENCIL_REF_NV :: GLenum
pattern GL_PATH_STENCIL_VALUE_MASK_NV :: GLenum
pattern GL_PATH_STROKE_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_STROKE_COVER_MODE_NV :: GLenum
pattern GL_PATH_STROKE_MASK_NV :: GLenum
pattern GL_PATH_STROKE_WIDTH_NV :: GLenum
pattern GL_PATH_TERMINAL_DASH_CAP_NV :: GLenum
pattern GL_PATH_TERMINAL_END_CAP_NV :: GLenum
pattern GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV :: GLenum
pattern GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV :: GLenum
pattern GL_PERCENTAGE_AMD :: GLenum
pattern GL_PERFMON_GLOBAL_MODE_QCOM :: GLenum
pattern GL_PERFMON_RESULT_AMD :: GLenum
pattern GL_PERFMON_RESULT_AVAILABLE_AMD :: GLenum
pattern GL_PERFMON_RESULT_SIZE_AMD :: GLenum
pattern GL_PERFORMANCE_MONITOR_AMD :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_EVENT_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_RAW_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL :: GLenum
pattern GL_PERFQUERY_DONOT_FLUSH_INTEL :: GLenum
pattern GL_PERFQUERY_FLUSH_INTEL :: GLenum
pattern GL_PERFQUERY_GLOBAL_CONTEXT_INTEL :: GLbitfield
pattern GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL :: GLenum
pattern GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL :: GLenum
pattern GL_PERFQUERY_SINGLE_CONTEXT_INTEL :: GLbitfield
pattern GL_PERFQUERY_WAIT_INTEL :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PERTURB_EXT :: GLenum
pattern GL_PER_GPU_STORAGE_BIT_NV :: GLbitfield
pattern GL_PER_GPU_STORAGE_NV :: GLenum
pattern GL_PER_STAGE_CONSTANTS_NV :: GLenum
pattern GL_PHONG_HINT_WIN :: GLenum
pattern GL_PHONG_WIN :: GLenum
pattern GL_PINLIGHT_NV :: GLenum
pattern GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD :: GLenum
pattern GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_BUFFER_BARRIER_BIT_EXT :: GLbitfield
pattern GL_PIXEL_COUNTER_BITS_NV :: GLenum
pattern GL_PIXEL_COUNT_AVAILABLE_NV :: GLenum
pattern GL_PIXEL_COUNT_NV :: GLenum
pattern GL_PIXEL_CUBIC_WEIGHT_EXT :: GLenum
pattern GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS :: GLenum
pattern GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS :: GLenum
pattern GL_PIXEL_GROUP_COLOR_SGIS :: GLenum
pattern GL_PIXEL_MAG_FILTER_EXT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MIN_FILTER_EXT :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_ARB :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING_ARB :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING_EXT :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING_NV :: GLenum
pattern GL_PIXEL_PACK_BUFFER_EXT :: GLenum
pattern GL_PIXEL_PACK_BUFFER_NV :: GLenum
pattern GL_PIXEL_SUBSAMPLE_2424_SGIX :: GLenum
pattern GL_PIXEL_SUBSAMPLE_4242_SGIX :: GLenum
pattern GL_PIXEL_SUBSAMPLE_4444_SGIX :: GLenum
pattern GL_PIXEL_TEXTURE_SGIS :: GLenum
pattern GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_MODE_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_Q_CEILING_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_Q_ROUND_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_SGIX :: GLenum
pattern GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX :: GLenum
pattern GL_PIXEL_TILE_CACHE_INCREMENT_SGIX :: GLenum
pattern GL_PIXEL_TILE_CACHE_SIZE_SGIX :: GLenum
pattern GL_PIXEL_TILE_GRID_DEPTH_SGIX :: GLenum
pattern GL_PIXEL_TILE_GRID_HEIGHT_SGIX :: GLenum
pattern GL_PIXEL_TILE_GRID_WIDTH_SGIX :: GLenum
pattern GL_PIXEL_TILE_HEIGHT_SGIX :: GLenum
pattern GL_PIXEL_TILE_WIDTH_SGIX :: GLenum
pattern GL_PIXEL_TRANSFORM_2D_EXT :: GLenum
pattern GL_PIXEL_TRANSFORM_2D_MATRIX_EXT :: GLenum
pattern GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_ARB :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING_ARB :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING_EXT :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING_NV :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_EXT :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_NV :: GLenum
pattern GL_PLUS_CLAMPED_ALPHA_NV :: GLenum
pattern GL_PLUS_CLAMPED_NV :: GLenum
pattern GL_PLUS_DARKER_NV :: GLenum
pattern GL_PLUS_NV :: GLenum
pattern GL_PN_TRIANGLES_ATI :: GLenum
pattern GL_PN_TRIANGLES_NORMAL_MODE_ATI :: GLenum
pattern GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI :: GLenum
pattern GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI :: GLenum
pattern GL_PN_TRIANGLES_POINT_MODE_ATI :: GLenum
pattern GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI :: GLenum
pattern GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI :: GLenum
pattern GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_DISTANCE_ATTENUATION_ARB :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE_ARB :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE_EXT :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE_SGIS :: GLenum
pattern GL_POINT_NV :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES :: GLenum
pattern GL_POINT_SIZE_ARRAY_OES :: GLenum
pattern GL_POINT_SIZE_ARRAY_POINTER_OES :: GLenum
pattern GL_POINT_SIZE_ARRAY_STRIDE_OES :: GLenum
pattern GL_POINT_SIZE_ARRAY_TYPE_OES :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MAX_ARB :: GLenum
pattern GL_POINT_SIZE_MAX_EXT :: GLenum
pattern GL_POINT_SIZE_MAX_SGIS :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_MIN_ARB :: GLenum
pattern GL_POINT_SIZE_MIN_EXT :: GLenum
pattern GL_POINT_SIZE_MIN_SGIS :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_ARB :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_SPRITE_NV :: GLenum
pattern GL_POINT_SPRITE_OES :: GLenum
pattern GL_POINT_SPRITE_R_MODE_NV :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_MODE_NV :: GLenum
pattern GL_POLYGON_OFFSET_BIAS_EXT :: GLenum
pattern GL_POLYGON_OFFSET_CLAMP :: GLenum
pattern GL_POLYGON_OFFSET_CLAMP_EXT :: GLenum
pattern GL_POLYGON_OFFSET_COMMAND_NV :: GLenum
pattern GL_POLYGON_OFFSET_EXT :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR_EXT :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_LINE_NV :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_POINT_NV :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_POST_COLOR_MATRIX_ALPHA_BIAS :: GLenum
pattern GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_ALPHA_SCALE :: GLenum
pattern GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_BLUE_BIAS :: GLenum
pattern GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_BLUE_SCALE :: GLenum
pattern GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
pattern GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_GREEN_BIAS :: GLenum
pattern GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_GREEN_SCALE :: GLenum
pattern GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_RED_BIAS :: GLenum
pattern GL_POST_COLOR_MATRIX_RED_BIAS_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_RED_SCALE :: GLenum
pattern GL_POST_COLOR_MATRIX_RED_SCALE_SGI :: GLenum
pattern GL_POST_CONVOLUTION_ALPHA_BIAS :: GLenum
pattern GL_POST_CONVOLUTION_ALPHA_BIAS_EXT :: GLenum
pattern GL_POST_CONVOLUTION_ALPHA_SCALE :: GLenum
pattern GL_POST_CONVOLUTION_ALPHA_SCALE_EXT :: GLenum
pattern GL_POST_CONVOLUTION_BLUE_BIAS :: GLenum
pattern GL_POST_CONVOLUTION_BLUE_BIAS_EXT :: GLenum
pattern GL_POST_CONVOLUTION_BLUE_SCALE :: GLenum
pattern GL_POST_CONVOLUTION_BLUE_SCALE_EXT :: GLenum
pattern GL_POST_CONVOLUTION_COLOR_TABLE :: GLenum
pattern GL_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
pattern GL_POST_CONVOLUTION_GREEN_BIAS :: GLenum
pattern GL_POST_CONVOLUTION_GREEN_BIAS_EXT :: GLenum
pattern GL_POST_CONVOLUTION_GREEN_SCALE :: GLenum
pattern GL_POST_CONVOLUTION_GREEN_SCALE_EXT :: GLenum
pattern GL_POST_CONVOLUTION_RED_BIAS :: GLenum
pattern GL_POST_CONVOLUTION_RED_BIAS_EXT :: GLenum
pattern GL_POST_CONVOLUTION_RED_SCALE :: GLenum
pattern GL_POST_CONVOLUTION_RED_SCALE_EXT :: GLenum
pattern GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
pattern GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX :: GLenum
pattern GL_POST_TEXTURE_FILTER_BIAS_SGIX :: GLenum
pattern GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX :: GLenum
pattern GL_POST_TEXTURE_FILTER_SCALE_SGIX :: GLenum
pattern GL_PREFER_DOUBLEBUFFER_HINT_PGI :: GLenum
pattern GL_PRESENT_DURATION_NV :: GLenum
pattern GL_PRESENT_TIME_NV :: GLenum
pattern GL_PRESERVE_ATI :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PREVIOUS_ARB :: GLenum
pattern GL_PREVIOUS_EXT :: GLenum
pattern GL_PREVIOUS_TEXTURE_INPUT_NV :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMARY_COLOR_ARB :: GLenum
pattern GL_PRIMARY_COLOR_EXT :: GLenum
pattern GL_PRIMARY_COLOR_NV :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVES_GENERATED_EXT :: GLenum
pattern GL_PRIMITIVES_GENERATED_NV :: GLenum
pattern GL_PRIMITIVES_GENERATED_OES :: GLenum
pattern GL_PRIMITIVES_SUBMITTED :: GLenum
pattern GL_PRIMITIVES_SUBMITTED_ARB :: GLenum
pattern GL_PRIMITIVE_BOUNDING_BOX :: GLenum
pattern GL_PRIMITIVE_BOUNDING_BOX_ARB :: GLenum
pattern GL_PRIMITIVE_BOUNDING_BOX_EXT :: GLenum
pattern GL_PRIMITIVE_BOUNDING_BOX_OES :: GLenum
pattern GL_PRIMITIVE_ID_NV :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX_NV :: GLenum
pattern GL_PRIMITIVE_RESTART_NV :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB :: GLenum
pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB :: GLenum
pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV :: GLenum
pattern GL_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
pattern GL_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_ATTRIBS_ARB :: GLenum
pattern GL_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
pattern GL_PROGRAM_BINARY_ANGLE :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS_OES :: GLenum
pattern GL_PROGRAM_BINARY_FORMAT_MESA :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH_OES :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_BINDING_ARB :: GLenum
pattern GL_PROGRAM_ERROR_POSITION_ARB :: GLenum
pattern GL_PROGRAM_ERROR_POSITION_NV :: GLenum
pattern GL_PROGRAM_ERROR_STRING_ARB :: GLenum
pattern GL_PROGRAM_ERROR_STRING_NV :: GLenum
pattern GL_PROGRAM_FORMAT_ARB :: GLenum
pattern GL_PROGRAM_FORMAT_ASCII_ARB :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_KHR :: GLenum
pattern GL_PROGRAM_LENGTH_ARB :: GLenum
pattern GL_PROGRAM_LENGTH_NV :: GLenum
pattern GL_PROGRAM_MATRIX_EXT :: GLenum
pattern GL_PROGRAM_MATRIX_STACK_DEPTH_EXT :: GLenum
pattern GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_OBJECT_ARB :: GLenum
pattern GL_PROGRAM_OBJECT_EXT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PARAMETERS_ARB :: GLenum
pattern GL_PROGRAM_PARAMETER_NV :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING_EXT :: GLenum
pattern GL_PROGRAM_PIPELINE_KHR :: GLenum
pattern GL_PROGRAM_PIPELINE_OBJECT_EXT :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_POINT_SIZE_ARB :: GLenum
pattern GL_PROGRAM_POINT_SIZE_EXT :: GLenum
pattern GL_PROGRAM_RESIDENT_NV :: GLenum
pattern GL_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROGRAM_SEPARABLE_EXT :: GLenum
pattern GL_PROGRAM_STRING_ARB :: GLenum
pattern GL_PROGRAM_STRING_NV :: GLenum
pattern GL_PROGRAM_TARGET_NV :: GLenum
pattern GL_PROGRAM_TEMPORARIES_ARB :: GLenum
pattern GL_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
pattern GL_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROTECTED_MEMORY_OBJECT_EXT :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROVOKING_VERTEX_EXT :: GLenum
pattern GL_PROXY_COLOR_TABLE :: GLenum
pattern GL_PROXY_COLOR_TABLE_SGI :: GLenum
pattern GL_PROXY_HISTOGRAM :: GLenum
pattern GL_PROXY_HISTOGRAM_EXT :: GLenum
pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE :: GLenum
pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
pattern GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY_EXT :: GLenum
pattern GL_PROXY_TEXTURE_1D_EXT :: GLenum
pattern GL_PROXY_TEXTURE_1D_STACK_MESAX :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY_EXT :: GLenum
pattern GL_PROXY_TEXTURE_2D_EXT :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_STACK_MESAX :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_3D_EXT :: GLenum
pattern GL_PROXY_TEXTURE_4D_SGIS :: GLenum
pattern GL_PROXY_TEXTURE_COLOR_TABLE_SGI :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARB :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_EXT :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE_ARB :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_PURGEABLE_APPLE :: GLenum
pattern GL_PURGED_CONTEXT_RESET_NV :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_QUADS :: GLenum
pattern GL_QUADS_EXT :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT :: GLenum
pattern GL_QUADS_OES :: GLenum
pattern GL_QUAD_ALPHA4_SGIS :: GLenum
pattern GL_QUAD_ALPHA8_SGIS :: GLenum
pattern GL_QUAD_INTENSITY4_SGIS :: GLenum
pattern GL_QUAD_INTENSITY8_SGIS :: GLenum
pattern GL_QUAD_LUMINANCE4_SGIS :: GLenum
pattern GL_QUAD_LUMINANCE8_SGIS :: GLenum
pattern GL_QUAD_MESH_SUN :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUAD_TEXTURE_SELECT_SGIS :: GLenum
pattern GL_QUARTER_BIT_ATI :: GLbitfield
pattern GL_QUERY :: GLenum
pattern GL_QUERY_ALL_EVENT_BITS_AMD :: GLbitfield
pattern GL_QUERY_BUFFER :: GLenum
pattern GL_QUERY_BUFFER_AMD :: GLenum
pattern GL_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_QUERY_BUFFER_BINDING :: GLenum
pattern GL_QUERY_BUFFER_BINDING_AMD :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT_NV :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
pattern GL_QUERY_BY_REGION_WAIT_NV :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_COUNTER_BITS_ARB :: GLenum
pattern GL_QUERY_COUNTER_BITS_EXT :: GLenum
pattern GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD :: GLbitfield
pattern GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD :: GLbitfield
pattern GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD :: GLbitfield
pattern GL_QUERY_KHR :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_NO_WAIT_NV :: GLenum
pattern GL_QUERY_OBJECT_AMD :: GLenum
pattern GL_QUERY_OBJECT_EXT :: GLenum
pattern GL_QUERY_RESOURCE_BUFFEROBJECT_NV :: GLenum
pattern GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV :: GLenum
pattern GL_QUERY_RESOURCE_RENDERBUFFER_NV :: GLenum
pattern GL_QUERY_RESOURCE_SYS_RESERVED_NV :: GLenum
pattern GL_QUERY_RESOURCE_TEXTURE_NV :: GLenum
pattern GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_ARB :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE_ARB :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE_EXT :: GLenum
pattern GL_QUERY_RESULT_EXT :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT_AMD :: GLenum
pattern GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD :: GLbitfield
pattern GL_QUERY_TARGET :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_QUERY_WAIT_INVERTED :: GLenum
pattern GL_QUERY_WAIT_NV :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R11F_G11F_B10F_APPLE :: GLenum
pattern GL_R11F_G11F_B10F_EXT :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16F_EXT :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_EXT :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R16_SNORM_EXT :: GLenum
pattern GL_R1UI_C3F_V3F_SUN :: GLenum
pattern GL_R1UI_C4F_N3F_V3F_SUN :: GLenum
pattern GL_R1UI_C4UB_V3F_SUN :: GLenum
pattern GL_R1UI_N3F_V3F_SUN :: GLenum
pattern GL_R1UI_T2F_C4F_N3F_V3F_SUN :: GLenum
pattern GL_R1UI_T2F_N3F_V3F_SUN :: GLenum
pattern GL_R1UI_T2F_V3F_SUN :: GLenum
pattern GL_R1UI_V3F_SUN :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32F_EXT :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_EXT :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_RASTERIZER_DISCARD_EXT :: GLenum
pattern GL_RASTERIZER_DISCARD_NV :: GLenum
pattern GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: GLenum
pattern GL_RASTER_MULTISAMPLE_EXT :: GLenum
pattern GL_RASTER_POSITION_UNCLIPPED_IBM :: GLenum
pattern GL_RASTER_SAMPLES_EXT :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_BUFFER_EXT :: GLenum
pattern GL_READ_BUFFER_NV :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_ANGLE :: GLenum
pattern GL_READ_FRAMEBUFFER_APPLE :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING_ANGLE :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING_APPLE :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING_EXT :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING_NV :: GLenum
pattern GL_READ_FRAMEBUFFER_EXT :: GLenum
pattern GL_READ_FRAMEBUFFER_NV :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_ONLY_ARB :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
pattern GL_READ_PIXEL_DATA_RANGE_NV :: GLenum
pattern GL_READ_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_READ_WRITE_ARB :: GLenum
pattern GL_RECIP_ADD_SIGNED_ALPHA_IMG :: GLenum
pattern GL_RECLAIM_MEMORY_HINT_PGI :: GLenum
pattern GL_RECT_NV :: GLubyte
pattern GL_RED :: GLenum
pattern GL_REDUCE :: GLenum
pattern GL_REDUCE_EXT :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_BIT_ATI :: GLbitfield
pattern GL_RED_EXT :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_INTEGER_EXT :: GLenum
pattern GL_RED_MAX_CLAMP_INGR :: GLenum
pattern GL_RED_MIN_CLAMP_INGR :: GLenum
pattern GL_RED_NV :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_RED_SNORM :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER_EXT :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER_OES :: GLenum
pattern GL_REFERENCED_BY_MESH_SHADER_NV :: GLenum
pattern GL_REFERENCED_BY_TASK_SHADER_NV :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_REFERENCE_PLANE_EQUATION_SGIX :: GLenum
pattern GL_REFERENCE_PLANE_SGIX :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_REFLECTION_MAP_ARB :: GLenum
pattern GL_REFLECTION_MAP_EXT :: GLenum
pattern GL_REFLECTION_MAP_NV :: GLenum
pattern GL_REFLECTION_MAP_OES :: GLenum
pattern GL_REGISTER_COMBINERS_NV :: GLenum
pattern GL_REG_0_ATI :: GLenum
pattern GL_REG_10_ATI :: GLenum
pattern GL_REG_11_ATI :: GLenum
pattern GL_REG_12_ATI :: GLenum
pattern GL_REG_13_ATI :: GLenum
pattern GL_REG_14_ATI :: GLenum
pattern GL_REG_15_ATI :: GLenum
pattern GL_REG_16_ATI :: GLenum
pattern GL_REG_17_ATI :: GLenum
pattern GL_REG_18_ATI :: GLenum
pattern GL_REG_19_ATI :: GLenum
pattern GL_REG_1_ATI :: GLenum
pattern GL_REG_20_ATI :: GLenum
pattern GL_REG_21_ATI :: GLenum
pattern GL_REG_22_ATI :: GLenum
pattern GL_REG_23_ATI :: GLenum
pattern GL_REG_24_ATI :: GLenum
pattern GL_REG_25_ATI :: GLenum
pattern GL_REG_26_ATI :: GLenum
pattern GL_REG_27_ATI :: GLenum
pattern GL_REG_28_ATI :: GLenum
pattern GL_REG_29_ATI :: GLenum
pattern GL_REG_2_ATI :: GLenum
pattern GL_REG_30_ATI :: GLenum
pattern GL_REG_31_ATI :: GLenum
pattern GL_REG_3_ATI :: GLenum
pattern GL_REG_4_ATI :: GLenum
pattern GL_REG_5_ATI :: GLenum
pattern GL_REG_6_ATI :: GLenum
pattern GL_REG_7_ATI :: GLenum
pattern GL_REG_8_ATI :: GLenum
pattern GL_REG_9_ATI :: GLenum
pattern GL_RELATIVE_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_CONIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_HORIZONTAL_LINE_TO_NV :: GLubyte
pattern GL_RELATIVE_LARGE_CCW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_LARGE_CW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_LINE_TO_NV :: GLubyte
pattern GL_RELATIVE_MOVE_TO_NV :: GLubyte
pattern GL_RELATIVE_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_RECT_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT2_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT4_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT8_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT_NV :: GLubyte
pattern GL_RELATIVE_SMALL_CCW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_SMALL_CW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_VERTICAL_LINE_TO_NV :: GLubyte
pattern GL_RELEASED_APPLE :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE_OES :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BINDING_ANGLE :: GLenum
pattern GL_RENDERBUFFER_BINDING_EXT :: GLenum
pattern GL_RENDERBUFFER_BINDING_OES :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE_OES :: GLenum
pattern GL_RENDERBUFFER_COLOR_SAMPLES_NV :: GLenum
pattern GL_RENDERBUFFER_COVERAGE_SAMPLES_NV :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE_OES :: GLenum
pattern GL_RENDERBUFFER_EXT :: GLenum
pattern GL_RENDERBUFFER_FREE_MEMORY_ATI :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE_OES :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_HEIGHT_EXT :: GLenum
pattern GL_RENDERBUFFER_HEIGHT_OES :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT_EXT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT_OES :: GLenum
pattern GL_RENDERBUFFER_OES :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE_OES :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_SAMPLES_ANGLE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES_APPLE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES_EXT :: GLenum
pattern GL_RENDERBUFFER_SAMPLES_IMG :: GLenum
pattern GL_RENDERBUFFER_SAMPLES_NV :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE_OES :: GLenum
pattern GL_RENDERBUFFER_STORAGE_SAMPLES_AMD :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERBUFFER_WIDTH_EXT :: GLenum
pattern GL_RENDERBUFFER_WIDTH_OES :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM :: GLenum
pattern GL_RENDER_GPU_MASK_NV :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_ARRAY_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_SUN :: GLenum
pattern GL_REPLACE_EXT :: GLenum
pattern GL_REPLACE_MIDDLE_SUN :: GLenum
pattern GL_REPLACE_OLDEST_SUN :: GLenum
pattern GL_REPLACE_VALUE_AMD :: GLenum
pattern GL_REPLICATE_BORDER :: GLenum
pattern GL_REPLICATE_BORDER_HP :: GLenum
pattern GL_REPRESENTATIVE_FRAGMENT_TEST_NV :: GLenum
pattern GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES :: GLenum
pattern GL_RESAMPLE_AVERAGE_OML :: GLenum
pattern GL_RESAMPLE_DECIMATE_OML :: GLenum
pattern GL_RESAMPLE_DECIMATE_SGIX :: GLenum
pattern GL_RESAMPLE_REPLICATE_OML :: GLenum
pattern GL_RESAMPLE_REPLICATE_SGIX :: GLenum
pattern GL_RESAMPLE_ZERO_FILL_OML :: GLenum
pattern GL_RESAMPLE_ZERO_FILL_SGIX :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RESCALE_NORMAL_EXT :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY_ARB :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY_EXT :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY_KHR :: GLenum
pattern GL_RESTART_PATH_NV :: GLubyte
pattern GL_RESTART_SUN :: GLenum
pattern GL_RETAINED_APPLE :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16F_EXT :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_EXT :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG16_SNORM_EXT :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32F_EXT :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_EXT :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB10_A2_EXT :: GLenum
pattern GL_RGB10_EXT :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB12_EXT :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16F_ARB :: GLenum
pattern GL_RGB16F_EXT :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16I_EXT :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16UI_EXT :: GLenum
pattern GL_RGB16_EXT :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB16_SNORM_EXT :: GLenum
pattern GL_RGB2_EXT :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32F_ARB :: GLenum
pattern GL_RGB32F_EXT :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32I_EXT :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB32UI_EXT :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB4_EXT :: GLenum
pattern GL_RGB4_S3TC :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB565_OES :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB5_A1_EXT :: GLenum
pattern GL_RGB5_A1_OES :: GLenum
pattern GL_RGB5_EXT :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8I_EXT :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8UI_EXT :: GLenum
pattern GL_RGB8_EXT :: GLenum
pattern GL_RGB8_OES :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGB9_E5_APPLE :: GLenum
pattern GL_RGB9_E5_EXT :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA12_EXT :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16F_ARB :: GLenum
pattern GL_RGBA16F_EXT :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16I_EXT :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16UI_EXT :: GLenum
pattern GL_RGBA16_EXT :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA16_SNORM_EXT :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA2_EXT :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32F_ARB :: GLenum
pattern GL_RGBA32F_EXT :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32I_EXT :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA32UI_EXT :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA4_DXT5_S3TC :: GLenum
pattern GL_RGBA4_EXT :: GLenum
pattern GL_RGBA4_OES :: GLenum
pattern GL_RGBA4_S3TC :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8I_EXT :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8UI_EXT :: GLenum
pattern GL_RGBA8_EXT :: GLenum
pattern GL_RGBA8_OES :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_DXT5_S3TC :: GLenum
pattern GL_RGBA_FLOAT16_APPLE :: GLenum
pattern GL_RGBA_FLOAT16_ATI :: GLenum
pattern GL_RGBA_FLOAT32_APPLE :: GLenum
pattern GL_RGBA_FLOAT32_ATI :: GLenum
pattern GL_RGBA_FLOAT_MODE_ARB :: GLenum
pattern GL_RGBA_FLOAT_MODE_ATI :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_INTEGER_EXT :: GLenum
pattern GL_RGBA_INTEGER_MODE_EXT :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGBA_S3TC :: GLenum
pattern GL_RGBA_SIGNED_COMPONENTS_EXT :: GLenum
pattern GL_RGBA_SNORM :: GLenum
pattern GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV :: GLenum
pattern GL_RGB_422_APPLE :: GLenum
pattern GL_RGB_FLOAT16_APPLE :: GLenum
pattern GL_RGB_FLOAT16_ATI :: GLenum
pattern GL_RGB_FLOAT32_APPLE :: GLenum
pattern GL_RGB_FLOAT32_ATI :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_INTEGER_EXT :: GLenum
pattern GL_RGB_RAW_422_APPLE :: GLenum
pattern GL_RGB_S3TC :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RGB_SCALE_ARB :: GLenum
pattern GL_RGB_SCALE_EXT :: GLenum
pattern GL_RGB_SNORM :: GLenum
pattern GL_RG_EXT :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RG_SNORM :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_ROBUST_GPU_TIMEOUT_MS_KHR :: GLenum
pattern GL_ROUNDED_RECT2_NV :: GLubyte
pattern GL_ROUNDED_RECT4_NV :: GLubyte
pattern GL_ROUNDED_RECT8_NV :: GLubyte
pattern GL_ROUNDED_RECT_NV :: GLubyte
pattern GL_ROUND_NV :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARB :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_EXT :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW_EXT :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW_ARB :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARB :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_EXT :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW_EXT :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW_NV :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_ARB :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW_ARB :: GLenum
pattern GL_SAMPLER_2D_SHADOW_EXT :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_3D_ARB :: GLenum
pattern GL_SAMPLER_3D_OES :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_BUFFER_AMD :: GLenum
pattern GL_SAMPLER_BUFFER_EXT :: GLenum
pattern GL_SAMPLER_BUFFER_OES :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_ARB :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW_EXT :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW_NV :: GLenum
pattern GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT :: GLenum
pattern GL_SAMPLER_EXTERNAL_OES :: GLenum
pattern GL_SAMPLER_KHR :: GLenum
pattern GL_SAMPLER_OBJECT_AMD :: GLenum
pattern GL_SAMPLER_RENDERBUFFER_NV :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_3DFX :: GLenum
pattern GL_SAMPLES_ARB :: GLenum
pattern GL_SAMPLES_EXT :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLES_PASSED_ARB :: GLenum
pattern GL_SAMPLES_SGIS :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE_ARB :: GLenum
pattern GL_SAMPLE_ALPHA_TO_MASK_EXT :: GLenum
pattern GL_SAMPLE_ALPHA_TO_MASK_SGIS :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE_ARB :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE_EXT :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE_SGIS :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_BUFFERS_3DFX :: GLenum
pattern GL_SAMPLE_BUFFERS_ARB :: GLenum
pattern GL_SAMPLE_BUFFERS_EXT :: GLenum
pattern GL_SAMPLE_BUFFERS_SGIS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_ARB :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT_ARB :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_NV :: GLenum
pattern GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV :: GLenum
pattern GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV :: GLenum
pattern GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_EXT :: GLenum
pattern GL_SAMPLE_MASK_INVERT_EXT :: GLenum
pattern GL_SAMPLE_MASK_INVERT_SGIS :: GLenum
pattern GL_SAMPLE_MASK_NV :: GLenum
pattern GL_SAMPLE_MASK_SGIS :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_MASK_VALUE_EXT :: GLenum
pattern GL_SAMPLE_MASK_VALUE_NV :: GLenum
pattern GL_SAMPLE_MASK_VALUE_SGIS :: GLenum
pattern GL_SAMPLE_PATTERN_EXT :: GLenum
pattern GL_SAMPLE_PATTERN_SGIS :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_POSITION_NV :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SAMPLE_SHADING_ARB :: GLenum
pattern GL_SAMPLE_SHADING_OES :: GLenum
pattern GL_SATURATE_BIT_ATI :: GLbitfield
pattern GL_SCALAR_EXT :: GLenum
pattern GL_SCALEBIAS_HINT_SGIX :: GLenum
pattern GL_SCALED_RESOLVE_FASTEST_EXT :: GLenum
pattern GL_SCALED_RESOLVE_NICEST_EXT :: GLenum
pattern GL_SCALE_BY_FOUR_NV :: GLenum
pattern GL_SCALE_BY_ONE_HALF_NV :: GLenum
pattern GL_SCALE_BY_TWO_NV :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_BOX_EXCLUSIVE_NV :: GLenum
pattern GL_SCISSOR_COMMAND_NV :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SCISSOR_TEST_EXCLUSIVE_NV :: GLenum
pattern GL_SCREEN :: GLenum
pattern GL_SCREEN_COORDINATES_REND :: GLenum
pattern GL_SCREEN_KHR :: GLenum
pattern GL_SCREEN_NV :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_LENGTH_NV :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_LIST_IBM :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE_EXT :: GLenum
pattern GL_SECONDARY_COLOR_NV :: GLenum
pattern GL_SECONDARY_INTERPOLATOR_ATI :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARABLE_2D :: GLenum
pattern GL_SEPARABLE_2D_EXT :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_ATTRIBS_EXT :: GLenum
pattern GL_SEPARATE_ATTRIBS_NV :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR_EXT :: GLenum
pattern GL_SET :: GLenum
pattern GL_SET_AMD :: GLenum
pattern GL_SGX_BINARY_IMG :: GLenum
pattern GL_SGX_PROGRAM_BINARY_IMG :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_DMP :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_BINARY_FORMAT_SPIR_V :: GLenum
pattern GL_SHADER_BINARY_FORMAT_SPIR_V_ARB :: GLenum
pattern GL_SHADER_BINARY_VIV :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_CONSISTENT_NV :: GLenum
pattern GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV :: GLbitfield
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_INCLUDE_ARB :: GLenum
pattern GL_SHADER_KHR :: GLenum
pattern GL_SHADER_OBJECT_ARB :: GLenum
pattern GL_SHADER_OBJECT_EXT :: GLenum
pattern GL_SHADER_OPERATION_NV :: GLenum
pattern GL_SHADER_PIXEL_LOCAL_STORAGE_EXT :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION_ARB :: GLenum
pattern GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_BINDING_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV :: GLenum
pattern GL_SHADING_RATE_NO_INVOCATIONS_NV :: GLenum
pattern GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV :: GLenum
pattern GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV :: GLenum
pattern GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV :: GLenum
pattern GL_SHADOW_AMBIENT_SGIX :: GLenum
pattern GL_SHADOW_ATTENUATION_EXT :: GLenum
pattern GL_SHARED_EDGE_NV :: GLubyte
pattern GL_SHARED_TEXTURE_PALETTE_EXT :: GLenum
pattern GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNALED_APPLE :: GLenum
pattern GL_SIGNED_ALPHA8_NV :: GLenum
pattern GL_SIGNED_ALPHA_NV :: GLenum
pattern GL_SIGNED_HILO16_NV :: GLenum
pattern GL_SIGNED_HILO8_NV :: GLenum
pattern GL_SIGNED_HILO_NV :: GLenum
pattern GL_SIGNED_IDENTITY_NV :: GLenum
pattern GL_SIGNED_INTENSITY8_NV :: GLenum
pattern GL_SIGNED_INTENSITY_NV :: GLenum
pattern GL_SIGNED_LUMINANCE8_ALPHA8_NV :: GLenum
pattern GL_SIGNED_LUMINANCE8_NV :: GLenum
pattern GL_SIGNED_LUMINANCE_ALPHA_NV :: GLenum
pattern GL_SIGNED_LUMINANCE_NV :: GLenum
pattern GL_SIGNED_NEGATE_NV :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIGNED_RGB8_NV :: GLenum
pattern GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV :: GLenum
pattern GL_SIGNED_RGBA8_NV :: GLenum
pattern GL_SIGNED_RGBA_NV :: GLenum
pattern GL_SIGNED_RGB_NV :: GLenum
pattern GL_SIGNED_RGB_UNSIGNED_ALPHA_NV :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SINGLE_COLOR_EXT :: GLenum
pattern GL_SKIP_COMPONENTS1_NV :: GLenum
pattern GL_SKIP_COMPONENTS2_NV :: GLenum
pattern GL_SKIP_COMPONENTS3_NV :: GLenum
pattern GL_SKIP_COMPONENTS4_NV :: GLenum
pattern GL_SKIP_DECODE_EXT :: GLenum
pattern GL_SKIP_MISSING_GLYPH_NV :: GLenum
pattern GL_SLICE_ACCUM_SUN :: GLenum
pattern GL_SLIM10U_SGIX :: GLenum
pattern GL_SLIM12S_SGIX :: GLenum
pattern GL_SLIM8U_SGIX :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8_EXT :: GLenum
pattern GL_SLUMINANCE8_ALPHA8_NV :: GLenum
pattern GL_SLUMINANCE8_EXT :: GLenum
pattern GL_SLUMINANCE8_NV :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SLUMINANCE_ALPHA_EXT :: GLenum
pattern GL_SLUMINANCE_ALPHA_NV :: GLenum
pattern GL_SLUMINANCE_EXT :: GLenum
pattern GL_SLUMINANCE_NV :: GLenum
pattern GL_SMALL_CCW_ARC_TO_NV :: GLubyte
pattern GL_SMALL_CW_ARC_TO_NV :: GLubyte
pattern GL_SMAPHS30_PROGRAM_BINARY_DMP :: GLenum
pattern GL_SMAPHS_PROGRAM_BINARY_DMP :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_SM_COUNT_NV :: GLenum
pattern GL_SOFTLIGHT :: GLenum
pattern GL_SOFTLIGHT_KHR :: GLenum
pattern GL_SOFTLIGHT_NV :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_ALPHA_ARB :: GLenum
pattern GL_SOURCE0_ALPHA_EXT :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE0_RGB_ARB :: GLenum
pattern GL_SOURCE0_RGB_EXT :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_ALPHA_ARB :: GLenum
pattern GL_SOURCE1_ALPHA_EXT :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE1_RGB_ARB :: GLenum
pattern GL_SOURCE1_RGB_EXT :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_ALPHA_ARB :: GLenum
pattern GL_SOURCE2_ALPHA_EXT :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SOURCE2_RGB_ARB :: GLenum
pattern GL_SOURCE2_RGB_EXT :: GLenum
pattern GL_SOURCE3_ALPHA_NV :: GLenum
pattern GL_SOURCE3_RGB_NV :: GLenum
pattern GL_SPARE0_NV :: GLenum
pattern GL_SPARE0_PLUS_SECONDARY_COLOR_NV :: GLenum
pattern GL_SPARE1_NV :: GLenum
pattern GL_SPARSE_BUFFER_PAGE_SIZE_ARB :: GLenum
pattern GL_SPARSE_STORAGE_BIT_ARB :: GLbitfield
pattern GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB :: GLenum
pattern GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPIR_V_BINARY :: GLenum
pattern GL_SPIR_V_BINARY_ARB :: GLenum
pattern GL_SPIR_V_EXTENSIONS :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SPRITE_AXIAL_SGIX :: GLenum
pattern GL_SPRITE_AXIS_SGIX :: GLenum
pattern GL_SPRITE_EYE_ALIGNED_SGIX :: GLenum
pattern GL_SPRITE_MODE_SGIX :: GLenum
pattern GL_SPRITE_OBJECT_ALIGNED_SGIX :: GLenum
pattern GL_SPRITE_SGIX :: GLenum
pattern GL_SPRITE_TRANSLATION_SGIX :: GLenum
pattern GL_SQUARE_NV :: GLenum
pattern GL_SR8_EXT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_ALPHA_EXT :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_COLOR_EXT :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_ALPHA_SATURATE_EXT :: GLenum
pattern GL_SRC_ATOP_NV :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRC_IN_NV :: GLenum
pattern GL_SRC_NV :: GLenum
pattern GL_SRC_OUT_NV :: GLenum
pattern GL_SRC_OVER_NV :: GLenum
pattern GL_SRG8_EXT :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB8_ALPHA8_EXT :: GLenum
pattern GL_SRGB8_EXT :: GLenum
pattern GL_SRGB8_NV :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_ALPHA_EXT :: GLenum
pattern GL_SRGB_DECODE_ARB :: GLenum
pattern GL_SRGB_EXT :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_OVERFLOW_KHR :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW_KHR :: GLenum
pattern GL_STANDARD_FONT_FORMAT_NV :: GLenum
pattern GL_STANDARD_FONT_NAME_NV :: GLenum
pattern GL_STATE_RESTORE :: GLenum
pattern GL_STATIC_ATI :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_COPY_ARB :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_DRAW_ARB :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STATIC_READ_ARB :: GLenum
pattern GL_STATIC_VERTEX_ARRAY_IBM :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_ATTACHMENT_EXT :: GLenum
pattern GL_STENCIL_ATTACHMENT_OES :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FAIL_ATI :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_FUNC_ATI :: GLenum
pattern GL_STENCIL_BACK_OP_VALUE_AMD :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_BUFFER_BIT0_QCOM :: GLbitfield
pattern GL_STENCIL_BUFFER_BIT1_QCOM :: GLbitfield
pattern GL_STENCIL_BUFFER_BIT2_QCOM :: GLbitfield
pattern GL_STENCIL_BUFFER_BIT3_QCOM :: GLbitfield
pattern GL_STENCIL_BUFFER_BIT4_QCOM :: GLbitfield
pattern GL_STENCIL_BUFFER_BIT5_QCOM :: GLbitfield
pattern GL_STENCIL_BUFFER_BIT6_QCOM :: GLbitfield
pattern GL_STENCIL_BUFFER_BIT7_QCOM :: GLbitfield
pattern GL_STENCIL_CLEAR_TAG_VALUE_EXT :: GLenum
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_EXT :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX16_EXT :: GLenum
pattern GL_STENCIL_INDEX1_EXT :: GLenum
pattern GL_STENCIL_INDEX1_OES :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX4_EXT :: GLenum
pattern GL_STENCIL_INDEX4_OES :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_INDEX8_EXT :: GLenum
pattern GL_STENCIL_INDEX8_OES :: GLenum
pattern GL_STENCIL_INDEX_OES :: GLenum
pattern GL_STENCIL_OP_VALUE_AMD :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_REF_COMMAND_NV :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_SAMPLES_NV :: GLenum
pattern GL_STENCIL_TAG_BITS_EXT :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_TEST_TWO_SIDE_EXT :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STORAGE_CACHED_APPLE :: GLenum
pattern GL_STORAGE_CLIENT_APPLE :: GLenum
pattern GL_STORAGE_PRIVATE_APPLE :: GLenum
pattern GL_STORAGE_SHARED_APPLE :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_COPY_ARB :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_DRAW_ARB :: GLenum
pattern GL_STREAM_RASTERIZATION_AMD :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_STREAM_READ_ARB :: GLenum
pattern GL_STRICT_DEPTHFUNC_HINT_PGI :: GLenum
pattern GL_STRICT_LIGHTING_HINT_PGI :: GLenum
pattern GL_STRICT_SCISSOR_HINT_PGI :: GLenum
pattern GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_BASIC_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV :: GLbitfield
pattern GL_SUBGROUP_FEATURE_QUAD_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_VOTE_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_QUAD_ALL_STAGES_KHR :: GLenum
pattern GL_SUBGROUP_SIZE_KHR :: GLenum
pattern GL_SUBGROUP_SUPPORTED_FEATURES_KHR :: GLenum
pattern GL_SUBGROUP_SUPPORTED_STAGES_KHR :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV :: GLenum
pattern GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV :: GLenum
pattern GL_SUBSAMPLE_DISTANCE_AMD :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SUBTRACT_ARB :: GLenum
pattern GL_SUB_ATI :: GLenum
pattern GL_SUCCESS_NV :: GLenum
pattern GL_SUPERSAMPLE_SCALE_X_NV :: GLenum
pattern GL_SUPERSAMPLE_SCALE_Y_NV :: GLenum
pattern GL_SUPPORTED_MULTISAMPLE_MODES_AMD :: GLenum
pattern GL_SURFACE_MAPPED_NV :: GLenum
pattern GL_SURFACE_REGISTERED_NV :: GLenum
pattern GL_SURFACE_STATE_NV :: GLenum
pattern GL_SWIZZLE_STQ_ATI :: GLenum
pattern GL_SWIZZLE_STQ_DQ_ATI :: GLenum
pattern GL_SWIZZLE_STRQ_ATI :: GLenum
pattern GL_SWIZZLE_STRQ_DQ_ATI :: GLenum
pattern GL_SWIZZLE_STR_ATI :: GLenum
pattern GL_SWIZZLE_STR_DR_ATI :: GLenum
pattern GL_SYNC_CL_EVENT_ARB :: GLenum
pattern GL_SYNC_CL_EVENT_COMPLETE_ARB :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_CONDITION_APPLE :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FENCE_APPLE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLAGS_APPLE :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_FLUSH_COMMANDS_BIT_APPLE :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE :: GLenum
pattern GL_SYNC_OBJECT_APPLE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_SYNC_STATUS_APPLE :: GLenum
pattern GL_SYNC_X11_FENCE_EXT :: GLenum
pattern GL_SYSTEM_FONT_NAME_NV :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_IUI_N3F_V2F_EXT :: GLenum
pattern GL_T2F_IUI_N3F_V3F_EXT :: GLenum
pattern GL_T2F_IUI_V2F_EXT :: GLenum
pattern GL_T2F_IUI_V3F_EXT :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TABLE_TOO_LARGE :: GLenum
pattern GL_TABLE_TOO_LARGE_EXT :: GLenum
pattern GL_TANGENT_ARRAY_EXT :: GLenum
pattern GL_TANGENT_ARRAY_POINTER_EXT :: GLenum
pattern GL_TANGENT_ARRAY_STRIDE_EXT :: GLenum
pattern GL_TANGENT_ARRAY_TYPE_EXT :: GLenum
pattern GL_TASK_SHADER_BIT_NV :: GLbitfield
pattern GL_TASK_SHADER_NV :: GLenum
pattern GL_TASK_SUBROUTINE_NV :: GLenum
pattern GL_TASK_SUBROUTINE_UNIFORM_NV :: GLenum
pattern GL_TASK_WORK_GROUP_SIZE_NV :: GLenum
pattern GL_TERMINATE_SEQUENCE_COMMAND_NV :: GLenum
pattern GL_TESSELLATION_FACTOR_AMD :: GLenum
pattern GL_TESSELLATION_MODE_AMD :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES_EXT :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES_OES :: GLenum
pattern GL_TESS_CONTROL_PROGRAM_NV :: GLenum
pattern GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SHADER_BIT_EXT :: GLbitfield
pattern GL_TESS_CONTROL_SHADER_BIT_OES :: GLbitfield
pattern GL_TESS_CONTROL_SHADER_EXT :: GLenum
pattern GL_TESS_CONTROL_SHADER_OES :: GLenum
pattern GL_TESS_CONTROL_SHADER_PATCHES :: GLenum
pattern GL_TESS_CONTROL_SHADER_PATCHES_ARB :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_PROGRAM_NV :: GLenum
pattern GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER_BIT_EXT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER_BIT_OES :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER_EXT :: GLenum
pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS :: GLenum
pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB :: GLenum
pattern GL_TESS_EVALUATION_SHADER_OES :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_MODE_EXT :: GLenum
pattern GL_TESS_GEN_MODE_OES :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE_EXT :: GLenum
pattern GL_TESS_GEN_POINT_MODE_OES :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_SPACING_EXT :: GLenum
pattern GL_TESS_GEN_SPACING_OES :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER_EXT :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER_OES :: GLenum
pattern GL_TEXCOORD1_BIT_PGI :: GLbitfield
pattern GL_TEXCOORD2_BIT_PGI :: GLbitfield
pattern GL_TEXCOORD3_BIT_PGI :: GLbitfield
pattern GL_TEXCOORD4_BIT_PGI :: GLbitfield
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE0_ARB :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE10_ARB :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE11_ARB :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE12_ARB :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE13_ARB :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE14_ARB :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE15_ARB :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE16_ARB :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE17_ARB :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE18_ARB :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE19_ARB :: GLenum
pattern GL_TEXTURE1_ARB :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE20_ARB :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE21_ARB :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE22_ARB :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE23_ARB :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE24_ARB :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE25_ARB :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE26_ARB :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE27_ARB :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE28_ARB :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE29_ARB :: GLenum
pattern GL_TEXTURE2_ARB :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE30_ARB :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE31_ARB :: GLenum
pattern GL_TEXTURE3_ARB :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE4_ARB :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE5_ARB :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE6_ARB :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE7_ARB :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE8_ARB :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE9_ARB :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_1D_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_1D_BINDING_EXT :: GLenum
pattern GL_TEXTURE_1D_STACK_BINDING_MESAX :: GLenum
pattern GL_TEXTURE_1D_STACK_MESAX :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_2D_BINDING_EXT :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES :: GLenum
pattern GL_TEXTURE_2D_STACK_BINDING_MESAX :: GLenum
pattern GL_TEXTURE_2D_STACK_MESAX :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_3D_BINDING_EXT :: GLenum
pattern GL_TEXTURE_3D_BINDING_OES :: GLenum
pattern GL_TEXTURE_3D_EXT :: GLenum
pattern GL_TEXTURE_3D_OES :: GLenum
pattern GL_TEXTURE_4DSIZE_SGIS :: GLenum
pattern GL_TEXTURE_4D_BINDING_SGIS :: GLenum
pattern GL_TEXTURE_4D_SGIS :: GLenum
pattern GL_TEXTURE_ALPHA_MODULATE_IMG :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE_EXT :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE_ARB :: GLenum
pattern GL_TEXTURE_APPLICATION_MODE_EXT :: GLenum
pattern GL_TEXTURE_ASTC_DECODE_PRECISION_EXT :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BASE_LEVEL_SGIS :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_3D_OES :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER_ARB :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER_EXT :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER_OES :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARB :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_EXT :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_OES :: GLenum
pattern GL_TEXTURE_BINDING_EXTERNAL_OES :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE_ARB :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE_NV :: GLenum
pattern GL_TEXTURE_BINDING_RENDERBUFFER_NV :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE_EXT :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE_ARB :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BORDER_COLOR_EXT :: GLenum
pattern GL_TEXTURE_BORDER_COLOR_NV :: GLenum
pattern GL_TEXTURE_BORDER_COLOR_OES :: GLenum
pattern GL_TEXTURE_BORDER_VALUES_NV :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_ARB :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING_OES :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES :: GLenum
pattern GL_TEXTURE_BUFFER_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_FORMAT_ARB :: GLenum
pattern GL_TEXTURE_BUFFER_FORMAT_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_OES :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_OES :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE_OES :: GLenum
pattern GL_TEXTURE_CLIPMAP_CENTER_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_DEPTH_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_FRAME_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_OFFSET_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
pattern GL_TEXTURE_COLOR_SAMPLES_NV :: GLenum
pattern GL_TEXTURE_COLOR_TABLE_SGI :: GLenum
pattern GL_TEXTURE_COLOR_WRITEMASK_SGIS :: GLenum
pattern GL_TEXTURE_COMPARE_FAIL_VALUE_ARB :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC_ARB :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC_EXT :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPARE_MODE_ARB :: GLenum
pattern GL_TEXTURE_COMPARE_MODE_EXT :: GLenum
pattern GL_TEXTURE_COMPARE_OPERATOR_SGIX :: GLenum
pattern GL_TEXTURE_COMPARE_SGIX :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_ARB :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT_ARB :: GLenum
pattern GL_TEXTURE_CONSTANT_DATA_SUNX :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_ADDRESS_NV :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_COUNT_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_LENGTH_NV :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_LIST_IBM :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE_EXT :: GLenum
pattern GL_TEXTURE_COORD_NV :: GLenum
pattern GL_TEXTURE_COVERAGE_SAMPLES_NV :: GLenum
pattern GL_TEXTURE_CROP_RECT_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEFORMATION_BIT_SGIX :: GLbitfield
pattern GL_TEXTURE_DEFORMATION_SGIX :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_EXT :: GLenum
pattern GL_TEXTURE_DEPTH_QCOM :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE_ARB :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE_ARB :: GLenum
pattern GL_TEXTURE_DS_SIZE_NV :: GLenum
pattern GL_TEXTURE_DT_SIZE_NV :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_BIAS_SGIX :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_EXTERNAL_OES :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FETCH_BARRIER_BIT_EXT :: GLbitfield
pattern GL_TEXTURE_FILTER4_SIZE_SGIS :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL_EXT :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_FLOAT_COMPONENTS_NV :: GLenum
pattern GL_TEXTURE_FORMAT_QCOM :: GLenum
pattern GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT :: GLenum
pattern GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM :: GLenum
pattern GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM :: GLenum
pattern GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM :: GLenum
pattern GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM :: GLenum
pattern GL_TEXTURE_FREE_MEMORY_ATI :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_MODE_OES :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_STR_OES :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GEQUAL_R_SGIX :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_SIZE_EXT :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE_ARB :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_HEIGHT_QCOM :: GLenum
pattern GL_TEXTURE_HI_SIZE_NV :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMAGE_VALID_QCOM :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT_EXT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INDEX_SIZE_EXT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE_EXT :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE_ARB :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT_QCOM :: GLenum
pattern GL_TEXTURE_LEQUAL_R_SGIX :: GLenum
pattern GL_TEXTURE_LIGHTING_MODE_HP :: GLenum
pattern GL_TEXTURE_LIGHT_EXT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LOD_BIAS_EXT :: GLenum
pattern GL_TEXTURE_LOD_BIAS_R_SGIX :: GLenum
pattern GL_TEXTURE_LOD_BIAS_S_SGIX :: GLenum
pattern GL_TEXTURE_LOD_BIAS_T_SGIX :: GLenum
pattern GL_TEXTURE_LO_SIZE_NV :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE_EXT :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE_ARB :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAG_SIZE_NV :: GLenum
pattern GL_TEXTURE_MATERIAL_FACE_EXT :: GLenum
pattern GL_TEXTURE_MATERIAL_PARAMETER_EXT :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
pattern GL_TEXTURE_MAX_ANISOTROPY :: GLenum
pattern GL_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
pattern GL_TEXTURE_MAX_CLAMP_R_SGIX :: GLenum
pattern GL_TEXTURE_MAX_CLAMP_S_SGIX :: GLenum
pattern GL_TEXTURE_MAX_CLAMP_T_SGIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LEVEL_APPLE :: GLenum
pattern GL_TEXTURE_MAX_LEVEL_SGIS :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MAX_LOD_SGIS :: GLenum
pattern GL_TEXTURE_MEMORY_LAYOUT_INTEL :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_MIN_LOD_SGIS :: GLenum
pattern GL_TEXTURE_MULTI_BUFFER_HINT_SGIX :: GLenum
pattern GL_TEXTURE_NORMAL_EXT :: GLenum
pattern GL_TEXTURE_NUM_LEVELS_QCOM :: GLenum
pattern GL_TEXTURE_OBJECT_VALID_QCOM :: GLenum
pattern GL_TEXTURE_POST_SPECULAR_HP :: GLenum
pattern GL_TEXTURE_PRE_SPECULAR_HP :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_PRIORITY_EXT :: GLenum
pattern GL_TEXTURE_PROTECTED_EXT :: GLenum
pattern GL_TEXTURE_RANGE_LENGTH_APPLE :: GLenum
pattern GL_TEXTURE_RANGE_POINTER_APPLE :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RECTANGLE_ARB :: GLenum
pattern GL_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_TEXTURE_REDUCTION_MODE_ARB :: GLenum
pattern GL_TEXTURE_REDUCTION_MODE_EXT :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_SIZE_EXT :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RED_TYPE_ARB :: GLenum
pattern GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV :: GLenum
pattern GL_TEXTURE_RENDERBUFFER_NV :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_RESIDENT_EXT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SAMPLES_IMG :: GLenum
pattern GL_TEXTURE_SHADER_NV :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_SHARED_SIZE_EXT :: GLenum
pattern GL_TEXTURE_SPARSE_ARB :: GLenum
pattern GL_TEXTURE_SPARSE_EXT :: GLenum
pattern GL_TEXTURE_SRGB_DECODE_EXT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE_EXT :: GLenum
pattern GL_TEXTURE_STORAGE_HINT_APPLE :: GLenum
pattern GL_TEXTURE_STORAGE_SPARSE_BIT_AMD :: GLbitfield
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_A_EXT :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_B_EXT :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_G_EXT :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA_EXT :: GLenum
pattern GL_TEXTURE_SWIZZLE_R_EXT :: GLenum
pattern GL_TEXTURE_TARGET :: GLenum
pattern GL_TEXTURE_TARGET_QCOM :: GLenum
pattern GL_TEXTURE_TILING_EXT :: GLenum
pattern GL_TEXTURE_TOO_LARGE_EXT :: GLenum
pattern GL_TEXTURE_TYPE_QCOM :: GLenum
pattern GL_TEXTURE_UNSIGNED_REMAP_MODE_NV :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_UPDATE_BARRIER_BIT_EXT :: GLbitfield
pattern GL_TEXTURE_USAGE_ANGLE :: GLenum
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER_EXT :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER_OES :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL_EXT :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL_OES :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS_EXT :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS_OES :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS_EXT :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS_OES :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WIDTH_QCOM :: GLenum
pattern GL_TEXTURE_WRAP_Q_SGIS :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_R_EXT :: GLenum
pattern GL_TEXTURE_WRAP_R_OES :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TEXT_FRAGMENT_SHADER_ATI :: GLenum
pattern GL_TILE_RASTER_ORDER_FIXED_MESA :: GLenum
pattern GL_TILE_RASTER_ORDER_INCREASING_X_MESA :: GLenum
pattern GL_TILE_RASTER_ORDER_INCREASING_Y_MESA :: GLenum
pattern GL_TILING_TYPES_EXT :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_EXPIRED_APPLE :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMEOUT_IGNORED_APPLE :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIMESTAMP_EXT :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TIME_ELAPSED_EXT :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRACE_ALL_BITS_MESA :: GLbitfield
pattern GL_TRACE_ARRAYS_BIT_MESA :: GLbitfield
pattern GL_TRACE_ERRORS_BIT_MESA :: GLbitfield
pattern GL_TRACE_MASK_MESA :: GLenum
pattern GL_TRACE_NAME_MESA :: GLenum
pattern GL_TRACE_OPERATIONS_BIT_MESA :: GLbitfield
pattern GL_TRACE_PIXELS_BIT_MESA :: GLbitfield
pattern GL_TRACE_PRIMITIVES_BIT_MESA :: GLbitfield
pattern GL_TRACE_TEXTURES_BIT_MESA :: GLbitfield
pattern GL_TRACK_MATRIX_NV :: GLenum
pattern GL_TRACK_MATRIX_TRANSFORM_NV :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ATTRIBS_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BINDING_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_OVERFLOW :: GLenum
pattern GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_RECORD_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW :: GLenum
pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: GLenum
pattern GL_TRANSFORM_HINT_APPLE :: GLenum
pattern GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE :: GLenum
pattern GL_TRANSLATE_2D_NV :: GLenum
pattern GL_TRANSLATE_3D_NV :: GLenum
pattern GL_TRANSLATE_X_NV :: GLenum
pattern GL_TRANSLATE_Y_NV :: GLenum
pattern GL_TRANSPOSE_AFFINE_2D_NV :: GLenum
pattern GL_TRANSPOSE_AFFINE_3D_NV :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX_ARB :: GLenum
pattern GL_TRANSPOSE_CURRENT_MATRIX_ARB :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX_ARB :: GLenum
pattern GL_TRANSPOSE_NV :: GLenum
pattern GL_TRANSPOSE_PROGRAM_MATRIX_EXT :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX_ARB :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX_ARB :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLES_ADJACENCY_ARB :: GLenum
pattern GL_TRIANGLES_ADJACENCY_EXT :: GLenum
pattern GL_TRIANGLES_ADJACENCY_OES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_LIST_SUN :: GLenum
pattern GL_TRIANGLE_MESH_SUN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY_ARB :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY_EXT :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY_OES :: GLenum
pattern GL_TRIANGULAR_NV :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNCORRELATED_NV :: GLenum
pattern GL_UNDEFINED_APPLE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNDEFINED_VERTEX_EXT :: GLenum
pattern GL_UNDEFINED_VERTEX_OES :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ADDRESS_COMMAND_NV :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BARRIER_BIT_EXT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_ADDRESS_NV :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING_EXT :: GLenum
pattern GL_UNIFORM_BUFFER_EXT :: GLenum
pattern GL_UNIFORM_BUFFER_LENGTH_NV :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_BUFFER_UNIFIED_NV :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET_ARB :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET_EXT :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET_KHR :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_CLIENT_STORAGE_APPLE :: GLenum
pattern GL_UNPACK_CMYK_HINT_EXT :: GLenum
pattern GL_UNPACK_COLORSPACE_CONVERSION_WEBGL :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_COMPRESSED_SIZE_SGIX :: GLenum
pattern GL_UNPACK_CONSTANT_DATA_SUNX :: GLenum
pattern GL_UNPACK_FLIP_Y_WEBGL :: GLenum
pattern GL_UNPACK_IMAGE_DEPTH_SGIS :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT_EXT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL :: GLenum
pattern GL_UNPACK_RESAMPLE_OML :: GLenum
pattern GL_UNPACK_RESAMPLE_SGIX :: GLenum
pattern GL_UNPACK_ROW_BYTES_APPLE :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_ROW_LENGTH_EXT :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_IMAGES_EXT :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_PIXELS_EXT :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SKIP_ROWS_EXT :: GLenum
pattern GL_UNPACK_SKIP_VOLUMES_SGIS :: GLenum
pattern GL_UNPACK_SUBSAMPLE_RATE_SGIX :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNALED_APPLE :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV_EXT :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2_EXT :: GLenum
pattern GL_UNSIGNED_IDENTITY_NV :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT16_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC4_NV :: GLenum
pattern GL_UNSIGNED_INT64_AMD :: GLenum
pattern GL_UNSIGNED_INT64_ARB :: GLenum
pattern GL_UNSIGNED_INT64_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC2_ARB :: GLenum
pattern GL_UNSIGNED_INT64_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC3_ARB :: GLenum
pattern GL_UNSIGNED_INT64_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC4_ARB :: GLenum
pattern GL_UNSIGNED_INT64_VEC4_NV :: GLenum
pattern GL_UNSIGNED_INT8_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC4_NV :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV_EXT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2_EXT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2_OES :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_24_8_EXT :: GLenum
pattern GL_UNSIGNED_INT_24_8_MESA :: GLenum
pattern GL_UNSIGNED_INT_24_8_NV :: GLenum
pattern GL_UNSIGNED_INT_24_8_OES :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV_EXT :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV_APPLE :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV_EXT :: GLenum
pattern GL_UNSIGNED_INT_8_24_REV_MESA :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_EXT :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV_EXT :: GLenum
pattern GL_UNSIGNED_INT_8_8_S8_S8_REV_NV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER_OES :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
pattern GL_UNSIGNED_INT_S8_S8_8_8_NV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_OES :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC2_EXT :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC3_EXT :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_INT_VEC4_EXT :: GLenum
pattern GL_UNSIGNED_INVERT_NV :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_NORMALIZED_ARB :: GLenum
pattern GL_UNSIGNED_NORMALIZED_EXT :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_15_1_MESA :: GLenum
pattern GL_UNSIGNED_SHORT_1_15_REV_MESA :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_EXT :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1_EXT :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_EXT :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV_EXT :: GLenum
pattern GL_UNSIGNED_SHORT_8_8_APPLE :: GLenum
pattern GL_UNSIGNED_SHORT_8_8_MESA :: GLenum
pattern GL_UNSIGNED_SHORT_8_8_REV_APPLE :: GLenum
pattern GL_UNSIGNED_SHORT_8_8_REV_MESA :: GLenum
pattern GL_UPLOAD_GPU_MASK_NVX :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_UPPER_LEFT_EXT :: GLenum
pattern GL_USE_MISSING_GLYPH_NV :: GLenum
pattern GL_UTF16_NV :: GLenum
pattern GL_UTF8_NV :: GLenum
pattern GL_UUID_SIZE_EXT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_SHADER_BINARY_QCOM :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VARIABLE_A_NV :: GLenum
pattern GL_VARIABLE_B_NV :: GLenum
pattern GL_VARIABLE_C_NV :: GLenum
pattern GL_VARIABLE_D_NV :: GLenum
pattern GL_VARIABLE_E_NV :: GLenum
pattern GL_VARIABLE_F_NV :: GLenum
pattern GL_VARIABLE_G_NV :: GLenum
pattern GL_VARIANT_ARRAY_EXT :: GLenum
pattern GL_VARIANT_ARRAY_POINTER_EXT :: GLenum
pattern GL_VARIANT_ARRAY_STRIDE_EXT :: GLenum
pattern GL_VARIANT_ARRAY_TYPE_EXT :: GLenum
pattern GL_VARIANT_DATATYPE_EXT :: GLenum
pattern GL_VARIANT_EXT :: GLenum
pattern GL_VARIANT_VALUE_EXT :: GLenum
pattern GL_VBO_FREE_MEMORY_ATI :: GLenum
pattern GL_VECTOR_EXT :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERSION_ES_CL_1_0 :: GLenum
pattern GL_VERSION_ES_CL_1_1 :: GLenum
pattern GL_VERSION_ES_CM_1_1 :: GLenum
pattern GL_VERTEX23_BIT_PGI :: GLbitfield
pattern GL_VERTEX4_BIT_PGI :: GLbitfield
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_ADDRESS_NV :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BINDING_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_BINDING_OES :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_VERTEX_ARRAY_COUNT_EXT :: GLenum
pattern GL_VERTEX_ARRAY_EXT :: GLenum
pattern GL_VERTEX_ARRAY_KHR :: GLenum
pattern GL_VERTEX_ARRAY_LENGTH_NV :: GLenum
pattern GL_VERTEX_ARRAY_LIST_IBM :: GLenum
pattern GL_VERTEX_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_VERTEX_ARRAY_OBJECT_AMD :: GLenum
pattern GL_VERTEX_ARRAY_OBJECT_EXT :: GLenum
pattern GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_POINTER_EXT :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_LENGTH_NV :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_NV :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_POINTER_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_POINTER_NV :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_VALID_NV :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_SIZE_EXT :: GLenum
pattern GL_VERTEX_ARRAY_STORAGE_HINT_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE_EXT :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE_EXT :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY0_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY10_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY11_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY12_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY13_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY14_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY15_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY1_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY2_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY3_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY4_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY5_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY6_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY7_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY8_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY9_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_BLEND_ARB :: GLenum
pattern GL_VERTEX_CONSISTENT_HINT_PGI :: GLenum
pattern GL_VERTEX_DATA_HINT_PGI :: GLenum
pattern GL_VERTEX_ELEMENT_SWIZZLE_AMD :: GLenum
pattern GL_VERTEX_ID_NV :: GLenum
pattern GL_VERTEX_ID_SWIZZLE_AMD :: GLenum
pattern GL_VERTEX_PRECLIP_HINT_SGIX :: GLenum
pattern GL_VERTEX_PRECLIP_SGIX :: GLenum
pattern GL_VERTEX_PROGRAM_ARB :: GLenum
pattern GL_VERTEX_PROGRAM_BINDING_NV :: GLenum
pattern GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA :: GLenum
pattern GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA :: GLenum
pattern GL_VERTEX_PROGRAM_CALLBACK_MESA :: GLenum
pattern GL_VERTEX_PROGRAM_NV :: GLenum
pattern GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE_ARB :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE_NV :: GLenum
pattern GL_VERTEX_PROGRAM_POSITION_MESA :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE_ARB :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE_NV :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_ARB :: GLenum
pattern GL_VERTEX_SHADER_BINDING_EXT :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SHADER_BIT_EXT :: GLbitfield
pattern GL_VERTEX_SHADER_EXT :: GLenum
pattern GL_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
pattern GL_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
pattern GL_VERTEX_SHADER_INVOCATIONS :: GLenum
pattern GL_VERTEX_SHADER_INVOCATIONS_ARB :: GLenum
pattern GL_VERTEX_SHADER_LOCALS_EXT :: GLenum
pattern GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
pattern GL_VERTEX_SHADER_OPTIMIZED_EXT :: GLenum
pattern GL_VERTEX_SHADER_VARIANTS_EXT :: GLenum
pattern GL_VERTEX_SOURCE_ATI :: GLenum
pattern GL_VERTEX_STATE_PROGRAM_NV :: GLenum
pattern GL_VERTEX_STREAM0_ATI :: GLenum
pattern GL_VERTEX_STREAM1_ATI :: GLenum
pattern GL_VERTEX_STREAM2_ATI :: GLenum
pattern GL_VERTEX_STREAM3_ATI :: GLenum
pattern GL_VERTEX_STREAM4_ATI :: GLenum
pattern GL_VERTEX_STREAM5_ATI :: GLenum
pattern GL_VERTEX_STREAM6_ATI :: GLenum
pattern GL_VERTEX_STREAM7_ATI :: GLenum
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VERTEX_WEIGHTING_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT :: GLenum
pattern GL_VERTICAL_LINE_TO_NV :: GLubyte
pattern GL_VERTICES_SUBMITTED :: GLenum
pattern GL_VERTICES_SUBMITTED_ARB :: GLenum
pattern GL_VIBRANCE_BIAS_NV :: GLenum
pattern GL_VIBRANCE_SCALE_NV :: GLenum
pattern GL_VIDEO_BUFFER_BINDING_NV :: GLenum
pattern GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV :: GLenum
pattern GL_VIDEO_BUFFER_NV :: GLenum
pattern GL_VIDEO_BUFFER_PITCH_NV :: GLenum
pattern GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV :: GLenum
pattern GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV :: GLenum
pattern GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV :: GLenum
pattern GL_VIDEO_CAPTURE_FRAME_WIDTH_NV :: GLenum
pattern GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV :: GLenum
pattern GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV :: GLenum
pattern GL_VIDEO_COLOR_CONVERSION_MATRIX_NV :: GLenum
pattern GL_VIDEO_COLOR_CONVERSION_MAX_NV :: GLenum
pattern GL_VIDEO_COLOR_CONVERSION_MIN_NV :: GLenum
pattern GL_VIDEO_COLOR_CONVERSION_OFFSET_NV :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE_EXT :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE_NV :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE_OES :: GLenum
pattern GL_VIEWPORT_COMMAND_NV :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES :: GLenum
pattern GL_VIEWPORT_POSITION_W_SCALE_NV :: GLenum
pattern GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV :: GLenum
pattern GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS_EXT :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS_NV :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS_OES :: GLenum
pattern GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_W_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_X_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_Y_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_Z_NV :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_ASTC_10x10_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_10x5_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_10x6_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_10x8_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_12x10_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_12x12_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_4x4_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_5x4_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_5x5_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_6x5_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_6x6_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_8x5_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_8x6_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_8x8_RGBA :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_EAC_R11 :: GLenum
pattern GL_VIEW_CLASS_EAC_RG11 :: GLenum
pattern GL_VIEW_CLASS_ETC2_EAC_RGBA :: GLenum
pattern GL_VIEW_CLASS_ETC2_RGB :: GLenum
pattern GL_VIEW_CLASS_ETC2_RGBA :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_INDEX_ARB :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_INDEX_EXT :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_X_AMD :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_X_ARB :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_X_EXT :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Y_AMD :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Y_ARB :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Y_EXT :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Z_AMD :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Z_ARB :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Z_EXT :: GLenum
pattern GL_VIVIDLIGHT_NV :: GLenum
pattern GL_VOLATILE_APPLE :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WAIT_FAILED_APPLE :: GLenum
pattern GL_WARPS_PER_SM_NV :: GLenum
pattern GL_WARP_SIZE_NV :: GLenum
pattern GL_WEIGHTED_AVERAGE_ARB :: GLenum
pattern GL_WEIGHTED_AVERAGE_EXT :: GLenum
pattern GL_WEIGHT_ARRAY_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING_OES :: GLenum
pattern GL_WEIGHT_ARRAY_OES :: GLenum
pattern GL_WEIGHT_ARRAY_POINTER_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_POINTER_OES :: GLenum
pattern GL_WEIGHT_ARRAY_SIZE_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_SIZE_OES :: GLenum
pattern GL_WEIGHT_ARRAY_STRIDE_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_STRIDE_OES :: GLenum
pattern GL_WEIGHT_ARRAY_TYPE_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_TYPE_OES :: GLenum
pattern GL_WEIGHT_SUM_UNITY_ARB :: GLenum
pattern GL_WIDE_LINE_HINT_PGI :: GLenum
pattern GL_WINDOW_RECTANGLE_EXT :: GLenum
pattern GL_WINDOW_RECTANGLE_MODE_EXT :: GLenum
pattern GL_WRAP_BORDER_SUN :: GLenum
pattern GL_WRITEONLY_RENDERING_QCOM :: GLenum
pattern GL_WRITE_DISCARD_NV :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_WRITE_ONLY_ARB :: GLenum
pattern GL_WRITE_ONLY_OES :: GLenum
pattern GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
pattern GL_WRITE_PIXEL_DATA_RANGE_NV :: GLenum
pattern GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
pattern GL_W_EXT :: GLenum
pattern GL_XOR :: GLenum
pattern GL_XOR_NV :: GLenum
pattern GL_X_EXT :: GLenum
pattern GL_YCBAYCR8A_4224_NV :: GLenum
pattern GL_YCBCR_422_APPLE :: GLenum
pattern GL_YCBCR_MESA :: GLenum
pattern GL_YCBYCR8_422_NV :: GLenum
pattern GL_YCRCBA_SGIX :: GLenum
pattern GL_YCRCB_422_SGIX :: GLenum
pattern GL_YCRCB_444_SGIX :: GLenum
pattern GL_YCRCB_SGIX :: GLenum
pattern GL_Y_EXT :: GLenum
pattern GL_Z400_BINARY_AMD :: GLenum
pattern GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV :: GLenum
pattern GL_Z4Y12Z4CB12Z4CR12_444_NV :: GLenum
pattern GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV :: GLenum
pattern GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV :: GLenum
pattern GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZERO_EXT :: GLenum
pattern GL_ZERO_TO_ONE :: GLenum
pattern GL_ZERO_TO_ONE_EXT :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum
pattern GL_Z_EXT :: GLenum

-- | This module offers a portable way to retrieve OpenGL functions and
--   extension entries, providing a portability layer upon
--   platform-specific mechanisms like glXGetProcAddress,
--   wglGetProcAddress or NSAddressOfSymbol.
--   
--   Note that finding an OpenGL entry point doesn't mean that it's
--   actually usable: On most platforms entry points are
--   context-independent, so you have to check the available extensions
--   and/or OpenGL version, too.
module Graphics.GL.GetProcAddress

-- | Retrieve an OpenGL function by name. Returns nullFunPtr when no
--   function with the given name was found.
getProcAddress :: MonadIO m => String -> m (FunPtr a)

-- | Retrieve an OpenGL function by name, trying a list of name suffixes in
--   the given order. Returns nullFunPtr when no function with the
--   given name plus any of the suffixes was found.
getProcAddressWithSuffixes :: MonadIO m => String -> [String] -> m (FunPtr a)

-- | Retrieve an OpenGL function by name, additionally trying a list of all
--   known vendor suffixes. Returns nullFunPtr when no function with
--   the given name plus any of the suffixes was found.
getExtension :: MonadIO m => String -> m (FunPtr a)

-- | Retrieve an OpenGL function by name. Throws an userError when
--   no function with the given name was found.
getProcAddressChecked :: MonadIO m => String -> m (FunPtr a)

-- | Retrieve an OpenGL function by name, trying a list of name suffixes in
--   the given order. Throws an userError when no function with the
--   given name plus any of the suffixes was found.
getProcAddressWithSuffixesChecked :: MonadIO m => String -> [String] -> m (FunPtr a)

-- | Retrieve an OpenGL function by name, additionally trying a list of all
--   known vendor suffixes. Throws an userError when no function
--   with the given name plus any of the suffixes was found.
getExtensionChecked :: MonadIO m => String -> m (FunPtr a)

-- | Retrieve the OpenGL version, split into major and minor version
--   numbers.
getVersion :: MonadIO m => m (Int, Int)

-- | The OpenGL version, split into major and minor version numbers. Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use getVersion in those cases instead.
version :: (Int, Int)

-- | Retrieve the set of all available OpenGL extensions.
getExtensions :: MonadIO m => m (Set String)

-- | The set of all available OpenGL extensions. Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use getExtensions in those cases instead.
extensions :: Set String

module Graphics.GL.ThreeDFX.TextureCompressionFXT1

-- | Is the 3DFX_texture_compression_FXT1 extension supported?
glGetThreeDFXTextureCompressionFXT1 :: MonadIO m => m Bool

-- | Is the 3DFX_texture_compression_FXT1 extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetThreeDFXTextureCompressionFXT1 in
--   those cases instead.
gl_3DFX_texture_compression_FXT1 :: Bool
pattern GL_COMPRESSED_RGBA_FXT1_3DFX :: GLenum
pattern GL_COMPRESSED_RGB_FXT1_3DFX :: GLenum

module Graphics.GL.ThreeDFX.Multisample

-- | Is the 3DFX_multisample extension supported?
glGetThreeDFXMultisample :: MonadIO m => m Bool

-- | Is the 3DFX_multisample extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetThreeDFXMultisample in those cases instead.
gl_3DFX_multisample :: Bool
pattern GL_MULTISAMPLE_3DFX :: GLenum
pattern GL_MULTISAMPLE_BIT_3DFX :: GLbitfield
pattern GL_SAMPLES_3DFX :: GLenum
pattern GL_SAMPLE_BUFFERS_3DFX :: GLenum

module Graphics.GL.SUN.SliceAccum

-- | Is the SUN_slice_accum extension supported?
glGetSUNSliceAccum :: MonadIO m => m Bool

-- | Is the SUN_slice_accum extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSUNSliceAccum in those cases instead.
gl_SUN_slice_accum :: Bool
pattern GL_SLICE_ACCUM_SUN :: GLenum

module Graphics.GL.SUN.ConvolutionBorderModes

-- | Is the SUN_convolution_border_modes extension supported?
glGetSUNConvolutionBorderModes :: MonadIO m => m Bool

-- | Is the SUN_convolution_border_modes extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetSUNConvolutionBorderModes in
--   those cases instead.
gl_SUN_convolution_border_modes :: Bool
pattern GL_WRAP_BORDER_SUN :: GLenum

module Graphics.GL.SGIX.YCrCbA

-- | Is the SGIX_ycrcba extension supported?
glGetSGIXYCrCbA :: MonadIO m => m Bool

-- | Is the SGIX_ycrcba extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXYCrCbA in those cases instead.
gl_SGIX_ycrcba :: Bool
pattern GL_YCRCBA_SGIX :: GLenum
pattern GL_YCRCB_SGIX :: GLenum

module Graphics.GL.SGIX.YCrCb

-- | Is the SGIX_ycrcb extension supported?
glGetSGIXYCrCb :: MonadIO m => m Bool

-- | Is the SGIX_ycrcb extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXYCrCb in those cases instead.
gl_SGIX_ycrcb :: Bool
pattern GL_YCRCB_422_SGIX :: GLenum
pattern GL_YCRCB_444_SGIX :: GLenum

module Graphics.GL.SGIX.VertexPreclip

-- | Is the SGIX_vertex_preclip extension supported?
glGetSGIXVertexPreclip :: MonadIO m => m Bool

-- | Is the SGIX_vertex_preclip extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXVertexPreclip in those cases
--   instead.
gl_SGIX_vertex_preclip :: Bool
pattern GL_VERTEX_PRECLIP_HINT_SGIX :: GLenum
pattern GL_VERTEX_PRECLIP_SGIX :: GLenum

module Graphics.GL.SGIX.TextureScaleBias

-- | Is the SGIX_texture_scale_bias extension supported?
glGetSGIXTextureScaleBias :: MonadIO m => m Bool

-- | Is the SGIX_texture_scale_bias extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXTextureScaleBias in those cases
--   instead.
gl_SGIX_texture_scale_bias :: Bool
pattern GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX :: GLenum
pattern GL_POST_TEXTURE_FILTER_BIAS_SGIX :: GLenum
pattern GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX :: GLenum
pattern GL_POST_TEXTURE_FILTER_SCALE_SGIX :: GLenum

module Graphics.GL.SGIX.TextureMultiBuffer

-- | Is the SGIX_texture_multi_buffer extension supported?
glGetSGIXTextureMultiBuffer :: MonadIO m => m Bool

-- | Is the SGIX_texture_multi_buffer extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXTextureMultiBuffer in those cases
--   instead.
gl_SGIX_texture_multi_buffer :: Bool
pattern GL_TEXTURE_MULTI_BUFFER_HINT_SGIX :: GLenum

module Graphics.GL.SGIX.TextureLODBias

-- | Is the SGIX_texture_lod_bias extension supported?
glGetSGIXTextureLODBias :: MonadIO m => m Bool

-- | Is the SGIX_texture_lod_bias extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXTextureLODBias in those cases
--   instead.
gl_SGIX_texture_lod_bias :: Bool
pattern GL_TEXTURE_LOD_BIAS_R_SGIX :: GLenum
pattern GL_TEXTURE_LOD_BIAS_S_SGIX :: GLenum
pattern GL_TEXTURE_LOD_BIAS_T_SGIX :: GLenum

module Graphics.GL.SGIX.TextureCoordinateClamp

-- | Is the SGIX_texture_coordinate_clamp extension supported?
glGetSGIXTextureCoordinateClamp :: MonadIO m => m Bool

-- | Is the SGIX_texture_coordinate_clamp extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetSGIXTextureCoordinateClamp in
--   those cases instead.
gl_SGIX_texture_coordinate_clamp :: Bool
pattern GL_TEXTURE_MAX_CLAMP_R_SGIX :: GLenum
pattern GL_TEXTURE_MAX_CLAMP_S_SGIX :: GLenum
pattern GL_TEXTURE_MAX_CLAMP_T_SGIX :: GLenum

module Graphics.GL.SGIX.TextureAddEnv

-- | Is the SGIX_texture_add_env extension supported?
glGetSGIXTextureAddEnv :: MonadIO m => m Bool

-- | Is the SGIX_texture_add_env extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXTextureAddEnv in those cases
--   instead.
gl_SGIX_texture_add_env :: Bool
pattern GL_TEXTURE_ENV_BIAS_SGIX :: GLenum

module Graphics.GL.SGIX.Subsample

-- | Is the SGIX_subsample extension supported?
glGetSGIXSubsample :: MonadIO m => m Bool

-- | Is the SGIX_subsample extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXSubsample in those cases instead.
gl_SGIX_subsample :: Bool
pattern GL_PACK_SUBSAMPLE_RATE_SGIX :: GLenum
pattern GL_PIXEL_SUBSAMPLE_2424_SGIX :: GLenum
pattern GL_PIXEL_SUBSAMPLE_4242_SGIX :: GLenum
pattern GL_PIXEL_SUBSAMPLE_4444_SGIX :: GLenum
pattern GL_UNPACK_SUBSAMPLE_RATE_SGIX :: GLenum

module Graphics.GL.SGIX.ShadowAmbient

-- | Is the SGIX_shadow_ambient extension supported?
glGetSGIXShadowAmbient :: MonadIO m => m Bool

-- | Is the SGIX_shadow_ambient extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXShadowAmbient in those cases
--   instead.
gl_SGIX_shadow_ambient :: Bool
pattern GL_SHADOW_AMBIENT_SGIX :: GLenum

module Graphics.GL.SGIX.Shadow

-- | Is the SGIX_shadow extension supported?
glGetSGIXShadow :: MonadIO m => m Bool

-- | Is the SGIX_shadow extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXShadow in those cases instead.
gl_SGIX_shadow :: Bool
pattern GL_TEXTURE_COMPARE_OPERATOR_SGIX :: GLenum
pattern GL_TEXTURE_COMPARE_SGIX :: GLenum
pattern GL_TEXTURE_GEQUAL_R_SGIX :: GLenum
pattern GL_TEXTURE_LEQUAL_R_SGIX :: GLenum

module Graphics.GL.SGIX.ScalebiasHint

-- | Is the SGIX_scalebias_hint extension supported?
glGetSGIXScalebiasHint :: MonadIO m => m Bool

-- | Is the SGIX_scalebias_hint extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXScalebiasHint in those cases
--   instead.
gl_SGIX_scalebias_hint :: Bool
pattern GL_SCALEBIAS_HINT_SGIX :: GLenum

module Graphics.GL.SGIX.Resample

-- | Is the SGIX_resample extension supported?
glGetSGIXResample :: MonadIO m => m Bool

-- | Is the SGIX_resample extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXResample in those cases instead.
gl_SGIX_resample :: Bool
pattern GL_PACK_RESAMPLE_SGIX :: GLenum
pattern GL_RESAMPLE_DECIMATE_SGIX :: GLenum
pattern GL_RESAMPLE_REPLICATE_SGIX :: GLenum
pattern GL_RESAMPLE_ZERO_FILL_SGIX :: GLenum
pattern GL_UNPACK_RESAMPLE_SGIX :: GLenum

module Graphics.GL.SGIX.PixelTiles

-- | Is the SGIX_pixel_tiles extension supported?
glGetSGIXPixelTiles :: MonadIO m => m Bool

-- | Is the SGIX_pixel_tiles extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXPixelTiles in those cases instead.
gl_SGIX_pixel_tiles :: Bool
pattern GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX :: GLenum
pattern GL_PIXEL_TILE_CACHE_INCREMENT_SGIX :: GLenum
pattern GL_PIXEL_TILE_CACHE_SIZE_SGIX :: GLenum
pattern GL_PIXEL_TILE_GRID_DEPTH_SGIX :: GLenum
pattern GL_PIXEL_TILE_GRID_HEIGHT_SGIX :: GLenum
pattern GL_PIXEL_TILE_GRID_WIDTH_SGIX :: GLenum
pattern GL_PIXEL_TILE_HEIGHT_SGIX :: GLenum
pattern GL_PIXEL_TILE_WIDTH_SGIX :: GLenum

module Graphics.GL.SGIX.IrInstrument1

-- | Is the SGIX_ir_instrument1 extension supported?
glGetSGIXIrInstrument1 :: MonadIO m => m Bool

-- | Is the SGIX_ir_instrument1 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXIrInstrument1 in those cases
--   instead.
gl_SGIX_ir_instrument1 :: Bool
pattern GL_IR_INSTRUMENT1_SGIX :: GLenum

module Graphics.GL.SGIX.Interlace

-- | Is the SGIX_interlace extension supported?
glGetSGIXInterlace :: MonadIO m => m Bool

-- | Is the SGIX_interlace extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXInterlace in those cases instead.
gl_SGIX_interlace :: Bool
pattern GL_INTERLACE_SGIX :: GLenum

module Graphics.GL.SGIX.FogOffset

-- | Is the SGIX_fog_offset extension supported?
glGetSGIXFogOffset :: MonadIO m => m Bool

-- | Is the SGIX_fog_offset extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXFogOffset in those cases instead.
gl_SGIX_fog_offset :: Bool
pattern GL_FOG_OFFSET_SGIX :: GLenum
pattern GL_FOG_OFFSET_VALUE_SGIX :: GLenum

module Graphics.GL.SGIX.DepthTexture

-- | Is the SGIX_depth_texture extension supported?
glGetSGIXDepthTexture :: MonadIO m => m Bool

-- | Is the SGIX_depth_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXDepthTexture in those cases instead.
gl_SGIX_depth_texture :: Bool
pattern GL_DEPTH_COMPONENT16_SGIX :: GLenum
pattern GL_DEPTH_COMPONENT24_SGIX :: GLenum
pattern GL_DEPTH_COMPONENT32_SGIX :: GLenum

module Graphics.GL.SGIX.ConvolutionAccuracy

-- | Is the SGIX_convolution_accuracy extension supported?
glGetSGIXConvolutionAccuracy :: MonadIO m => m Bool

-- | Is the SGIX_convolution_accuracy extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXConvolutionAccuracy in those cases
--   instead.
gl_SGIX_convolution_accuracy :: Bool
pattern GL_CONVOLUTION_HINT_SGIX :: GLenum

module Graphics.GL.SGIX.Clipmap

-- | Is the SGIX_clipmap extension supported?
glGetSGIXClipmap :: MonadIO m => m Bool

-- | Is the SGIX_clipmap extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXClipmap in those cases instead.
gl_SGIX_clipmap :: Bool
pattern GL_LINEAR_CLIPMAP_LINEAR_SGIX :: GLenum
pattern GL_LINEAR_CLIPMAP_NEAREST_SGIX :: GLenum
pattern GL_MAX_CLIPMAP_DEPTH_SGIX :: GLenum
pattern GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
pattern GL_NEAREST_CLIPMAP_LINEAR_SGIX :: GLenum
pattern GL_NEAREST_CLIPMAP_NEAREST_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_CENTER_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_DEPTH_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_FRAME_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_OFFSET_SGIX :: GLenum
pattern GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum

module Graphics.GL.SGIX.CalligraphicFragment

-- | Is the SGIX_calligraphic_fragment extension supported?
glGetSGIXCalligraphicFragment :: MonadIO m => m Bool

-- | Is the SGIX_calligraphic_fragment extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetSGIXCalligraphicFragment in those
--   cases instead.
gl_SGIX_calligraphic_fragment :: Bool
pattern GL_CALLIGRAPHIC_FRAGMENT_SGIX :: GLenum

module Graphics.GL.SGIX.BlendAlphaMinmax

-- | Is the SGIX_blend_alpha_minmax extension supported?
glGetSGIXBlendAlphaMinmax :: MonadIO m => m Bool

-- | Is the SGIX_blend_alpha_minmax extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXBlendAlphaMinmax in those cases
--   instead.
gl_SGIX_blend_alpha_minmax :: Bool
pattern GL_ALPHA_MAX_SGIX :: GLenum
pattern GL_ALPHA_MIN_SGIX :: GLenum

module Graphics.GL.SGIX.AsyncPixel

-- | Is the SGIX_async_pixel extension supported?
glGetSGIXAsyncPixel :: MonadIO m => m Bool

-- | Is the SGIX_async_pixel extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXAsyncPixel in those cases instead.
gl_SGIX_async_pixel :: Bool
pattern GL_ASYNC_DRAW_PIXELS_SGIX :: GLenum
pattern GL_ASYNC_READ_PIXELS_SGIX :: GLenum
pattern GL_ASYNC_TEX_IMAGE_SGIX :: GLenum
pattern GL_MAX_ASYNC_DRAW_PIXELS_SGIX :: GLenum
pattern GL_MAX_ASYNC_READ_PIXELS_SGIX :: GLenum
pattern GL_MAX_ASYNC_TEX_IMAGE_SGIX :: GLenum

module Graphics.GL.SGIX.AsyncHistogram

-- | Is the SGIX_async_histogram extension supported?
glGetSGIXAsyncHistogram :: MonadIO m => m Bool

-- | Is the SGIX_async_histogram extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXAsyncHistogram in those cases
--   instead.
gl_SGIX_async_histogram :: Bool
pattern GL_ASYNC_HISTOGRAM_SGIX :: GLenum
pattern GL_MAX_ASYNC_HISTOGRAM_SGIX :: GLenum

module Graphics.GL.SGIS.TextureSelect

-- | Is the SGIS_texture_select extension supported?
glGetSGISTextureSelect :: MonadIO m => m Bool

-- | Is the SGIS_texture_select extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISTextureSelect in those cases
--   instead.
gl_SGIS_texture_select :: Bool
pattern GL_DUAL_ALPHA12_SGIS :: GLenum
pattern GL_DUAL_ALPHA16_SGIS :: GLenum
pattern GL_DUAL_ALPHA4_SGIS :: GLenum
pattern GL_DUAL_ALPHA8_SGIS :: GLenum
pattern GL_DUAL_INTENSITY12_SGIS :: GLenum
pattern GL_DUAL_INTENSITY16_SGIS :: GLenum
pattern GL_DUAL_INTENSITY4_SGIS :: GLenum
pattern GL_DUAL_INTENSITY8_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE12_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE16_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE4_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE8_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE_ALPHA4_SGIS :: GLenum
pattern GL_DUAL_LUMINANCE_ALPHA8_SGIS :: GLenum
pattern GL_DUAL_TEXTURE_SELECT_SGIS :: GLenum
pattern GL_QUAD_ALPHA4_SGIS :: GLenum
pattern GL_QUAD_ALPHA8_SGIS :: GLenum
pattern GL_QUAD_INTENSITY4_SGIS :: GLenum
pattern GL_QUAD_INTENSITY8_SGIS :: GLenum
pattern GL_QUAD_LUMINANCE4_SGIS :: GLenum
pattern GL_QUAD_LUMINANCE8_SGIS :: GLenum
pattern GL_QUAD_TEXTURE_SELECT_SGIS :: GLenum

module Graphics.GL.SGIS.TextureLOD

-- | Is the SGIS_texture_lod extension supported?
glGetSGISTextureLOD :: MonadIO m => m Bool

-- | Is the SGIS_texture_lod extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGISTextureLOD in those cases instead.
gl_SGIS_texture_lod :: Bool
pattern GL_TEXTURE_BASE_LEVEL_SGIS :: GLenum
pattern GL_TEXTURE_MAX_LEVEL_SGIS :: GLenum
pattern GL_TEXTURE_MAX_LOD_SGIS :: GLenum
pattern GL_TEXTURE_MIN_LOD_SGIS :: GLenum

module Graphics.GL.SGIS.TextureEdgeClamp

-- | Is the SGIS_texture_edge_clamp extension supported?
glGetSGISTextureEdgeClamp :: MonadIO m => m Bool

-- | Is the SGIS_texture_edge_clamp extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISTextureEdgeClamp in those cases
--   instead.
gl_SGIS_texture_edge_clamp :: Bool
pattern GL_CLAMP_TO_EDGE_SGIS :: GLenum

module Graphics.GL.SGIS.TextureBorderClamp

-- | Is the SGIS_texture_border_clamp extension supported?
glGetSGISTextureBorderClamp :: MonadIO m => m Bool

-- | Is the SGIS_texture_border_clamp extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISTextureBorderClamp in those cases
--   instead.
gl_SGIS_texture_border_clamp :: Bool
pattern GL_CLAMP_TO_BORDER_SGIS :: GLenum

module Graphics.GL.SGIS.PointLineTexgen

-- | Is the SGIS_point_line_texgen extension supported?
glGetSGISPointLineTexgen :: MonadIO m => m Bool

-- | Is the SGIS_point_line_texgen extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISPointLineTexgen in those cases
--   instead.
gl_SGIS_point_line_texgen :: Bool
pattern GL_EYE_DISTANCE_TO_LINE_SGIS :: GLenum
pattern GL_EYE_DISTANCE_TO_POINT_SGIS :: GLenum
pattern GL_EYE_LINE_SGIS :: GLenum
pattern GL_EYE_POINT_SGIS :: GLenum
pattern GL_OBJECT_DISTANCE_TO_LINE_SGIS :: GLenum
pattern GL_OBJECT_DISTANCE_TO_POINT_SGIS :: GLenum
pattern GL_OBJECT_LINE_SGIS :: GLenum
pattern GL_OBJECT_POINT_SGIS :: GLenum

module Graphics.GL.SGIS.GenerateMipmap

-- | Is the SGIS_generate_mipmap extension supported?
glGetSGISGenerateMipmap :: MonadIO m => m Bool

-- | Is the SGIS_generate_mipmap extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISGenerateMipmap in those cases
--   instead.
gl_SGIS_generate_mipmap :: Bool
pattern GL_GENERATE_MIPMAP_HINT_SGIS :: GLenum
pattern GL_GENERATE_MIPMAP_SGIS :: GLenum

module Graphics.GL.SGI.TextureColorTable

-- | Is the SGI_texture_color_table extension supported?
glGetSGITextureColorTable :: MonadIO m => m Bool

-- | Is the SGI_texture_color_table extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGITextureColorTable in those cases
--   instead.
gl_SGI_texture_color_table :: Bool
pattern GL_PROXY_TEXTURE_COLOR_TABLE_SGI :: GLenum
pattern GL_TEXTURE_COLOR_TABLE_SGI :: GLenum

module Graphics.GL.SGI.ColorMatrix

-- | Is the SGI_color_matrix extension supported?
glGetSGIColorMatrix :: MonadIO m => m Bool

-- | Is the SGI_color_matrix extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIColorMatrix in those cases instead.
gl_SGI_color_matrix :: Bool
pattern GL_COLOR_MATRIX_SGI :: GLenum
pattern GL_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
pattern GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_RED_BIAS_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_RED_SCALE_SGI :: GLenum

module Graphics.GL.S3.S3TC

-- | Is the S3_s3tc extension supported?
glGetS3S3TC :: MonadIO m => m Bool

-- | Is the S3_s3tc extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use glGetS3S3TC in those cases instead.
gl_S3_s3tc :: Bool
pattern GL_RGB4_S3TC :: GLenum
pattern GL_RGBA4_DXT5_S3TC :: GLenum
pattern GL_RGBA4_S3TC :: GLenum
pattern GL_RGBA_DXT5_S3TC :: GLenum
pattern GL_RGBA_S3TC :: GLenum
pattern GL_RGB_S3TC :: GLenum

-- | A convenience module, combining all raw modules containing S3
--   extensions.
module Graphics.GL.S3

module Graphics.GL.REND.ScreenCoordinates

-- | Is the REND_screen_coordinates extension supported?
glGetRENDScreenCoordinates :: MonadIO m => m Bool

-- | Is the REND_screen_coordinates extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetRENDScreenCoordinates in those cases
--   instead.
gl_REND_screen_coordinates :: Bool
pattern GL_INVERTED_SCREEN_W_REND :: GLenum
pattern GL_SCREEN_COORDINATES_REND :: GLenum

-- | A convenience module, combining all raw modules containing REND
--   extensions.
module Graphics.GL.REND

module Graphics.GL.PGI.VertexHints

-- | Is the PGI_vertex_hints extension supported?
glGetPGIVertexHints :: MonadIO m => m Bool

-- | Is the PGI_vertex_hints extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetPGIVertexHints in those cases instead.
gl_PGI_vertex_hints :: Bool
pattern GL_COLOR3_BIT_PGI :: GLbitfield
pattern GL_COLOR4_BIT_PGI :: GLbitfield
pattern GL_EDGEFLAG_BIT_PGI :: GLbitfield
pattern GL_INDEX_BIT_PGI :: GLbitfield
pattern GL_MATERIAL_SIDE_HINT_PGI :: GLenum
pattern GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI :: GLbitfield
pattern GL_MAT_AMBIENT_BIT_PGI :: GLbitfield
pattern GL_MAT_COLOR_INDEXES_BIT_PGI :: GLbitfield
pattern GL_MAT_DIFFUSE_BIT_PGI :: GLbitfield
pattern GL_MAT_EMISSION_BIT_PGI :: GLbitfield
pattern GL_MAT_SHININESS_BIT_PGI :: GLbitfield
pattern GL_MAT_SPECULAR_BIT_PGI :: GLbitfield
pattern GL_MAX_VERTEX_HINT_PGI :: GLenum
pattern GL_NORMAL_BIT_PGI :: GLbitfield
pattern GL_TEXCOORD1_BIT_PGI :: GLbitfield
pattern GL_TEXCOORD2_BIT_PGI :: GLbitfield
pattern GL_TEXCOORD3_BIT_PGI :: GLbitfield
pattern GL_TEXCOORD4_BIT_PGI :: GLbitfield
pattern GL_VERTEX23_BIT_PGI :: GLbitfield
pattern GL_VERTEX4_BIT_PGI :: GLbitfield
pattern GL_VERTEX_CONSISTENT_HINT_PGI :: GLenum
pattern GL_VERTEX_DATA_HINT_PGI :: GLenum

module Graphics.GL.OML.Subsample

-- | Is the OML_subsample extension supported?
glGetOMLSubsample :: MonadIO m => m Bool

-- | Is the OML_subsample extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetOMLSubsample in those cases instead.
gl_OML_subsample :: Bool
pattern GL_FORMAT_SUBSAMPLE_244_244_OML :: GLenum
pattern GL_FORMAT_SUBSAMPLE_24_24_OML :: GLenum

module Graphics.GL.OML.Resample

-- | Is the OML_resample extension supported?
glGetOMLResample :: MonadIO m => m Bool

-- | Is the OML_resample extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetOMLResample in those cases instead.
gl_OML_resample :: Bool
pattern GL_PACK_RESAMPLE_OML :: GLenum
pattern GL_RESAMPLE_AVERAGE_OML :: GLenum
pattern GL_RESAMPLE_DECIMATE_OML :: GLenum
pattern GL_RESAMPLE_REPLICATE_OML :: GLenum
pattern GL_RESAMPLE_ZERO_FILL_OML :: GLenum
pattern GL_UNPACK_RESAMPLE_OML :: GLenum

module Graphics.GL.OML.Interlace

-- | Is the OML_interlace extension supported?
glGetOMLInterlace :: MonadIO m => m Bool

-- | Is the OML_interlace extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetOMLInterlace in those cases instead.
gl_OML_interlace :: Bool
pattern GL_INTERLACE_OML :: GLenum
pattern GL_INTERLACE_READ_OML :: GLenum

-- | A convenience module, combining all raw modules containing OML
--   extensions.
module Graphics.GL.OML

module Graphics.GL.OES.ReadFormat

-- | Is the OES_read_format extension supported?
glGetOESReadFormat :: MonadIO m => m Bool

-- | Is the OES_read_format extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetOESReadFormat in those cases instead.
gl_OES_read_format :: Bool
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE_OES :: GLenum

module Graphics.GL.OES.CompressedPalettedTexture

-- | Is the OES_compressed_paletted_texture extension supported?
glGetOESCompressedPalettedTexture :: MonadIO m => m Bool

-- | Is the OES_compressed_paletted_texture extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetOESCompressedPalettedTexture in those cases instead.
gl_OES_compressed_paletted_texture :: Bool
pattern GL_PALETTE4_R5_G6_B5_OES :: GLenum
pattern GL_PALETTE4_RGB5_A1_OES :: GLenum
pattern GL_PALETTE4_RGB8_OES :: GLenum
pattern GL_PALETTE4_RGBA4_OES :: GLenum
pattern GL_PALETTE4_RGBA8_OES :: GLenum
pattern GL_PALETTE8_R5_G6_B5_OES :: GLenum
pattern GL_PALETTE8_RGB5_A1_OES :: GLenum
pattern GL_PALETTE8_RGB8_OES :: GLenum
pattern GL_PALETTE8_RGBA4_OES :: GLenum
pattern GL_PALETTE8_RGBA8_OES :: GLenum

module Graphics.GL.NVX.GPUMemoryInfo

-- | Is the NVX_gpu_memory_info extension supported?
glGetNVXGPUMemoryInfo :: MonadIO m => m Bool

-- | Is the NVX_gpu_memory_info extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVXGPUMemoryInfo in those cases
--   instead.
gl_NVX_gpu_memory_info :: Bool
pattern GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX :: GLenum
pattern GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX :: GLenum
pattern GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX :: GLenum
pattern GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX :: GLenum
pattern GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX :: GLenum

module Graphics.GL.NV.VertexProgram3

-- | Is the NV_vertex_program3 extension supported?
glGetNVVertexProgram3 :: MonadIO m => m Bool

-- | Is the NV_vertex_program3 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVVertexProgram3 in those cases instead.
gl_NV_vertex_program3 :: Bool
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: GLenum

module Graphics.GL.NV.VertexProgram2Option

-- | Is the NV_vertex_program2_option extension supported?
glGetNVVertexProgram2Option :: MonadIO m => m Bool

-- | Is the NV_vertex_program2_option extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVVertexProgram2Option in those cases
--   instead.
gl_NV_vertex_program2_option :: Bool
pattern GL_MAX_PROGRAM_CALL_DEPTH_NV :: GLenum
pattern GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: GLenum

module Graphics.GL.NV.VertexArrayRange2

-- | Is the NV_vertex_array_range2 extension supported?
glGetNVVertexArrayRange2 :: MonadIO m => m Bool

-- | Is the NV_vertex_array_range2 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVVertexArrayRange2 in those cases
--   instead.
gl_NV_vertex_array_range2 :: Bool
pattern GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV :: GLenum

module Graphics.GL.NV.UniformBufferUnifiedMemory

-- | Is the NV_uniform_buffer_unified_memory extension supported?
glGetNVUniformBufferUnifiedMemory :: MonadIO m => m Bool

-- | Is the NV_uniform_buffer_unified_memory extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVUniformBufferUnifiedMemory in those cases instead.
gl_NV_uniform_buffer_unified_memory :: Bool
pattern GL_UNIFORM_BUFFER_ADDRESS_NV :: GLenum
pattern GL_UNIFORM_BUFFER_LENGTH_NV :: GLenum
pattern GL_UNIFORM_BUFFER_UNIFIED_NV :: GLenum

module Graphics.GL.NV.TextureShader3

-- | Is the NV_texture_shader3 extension supported?
glGetNVTextureShader3 :: MonadIO m => m Bool

-- | Is the NV_texture_shader3 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVTextureShader3 in those cases instead.
gl_NV_texture_shader3 :: Bool
pattern GL_DEPENDENT_HILO_TEXTURE_2D_NV :: GLenum
pattern GL_DEPENDENT_RGB_TEXTURE_3D_NV :: GLenum
pattern GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV :: GLenum
pattern GL_DOT_PRODUCT_PASS_THROUGH_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_1D_NV :: GLenum
pattern GL_FORCE_BLUE_TO_ONE_NV :: GLenum
pattern GL_HILO8_NV :: GLenum
pattern GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV :: GLenum
pattern GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_OFFSET_HILO_TEXTURE_2D_NV :: GLenum
pattern GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV :: GLenum
pattern GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV :: GLenum
pattern GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
pattern GL_SIGNED_HILO8_NV :: GLenum

module Graphics.GL.NV.TextureShader2

-- | Is the NV_texture_shader2 extension supported?
glGetNVTextureShader2 :: MonadIO m => m Bool

-- | Is the NV_texture_shader2 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVTextureShader2 in those cases instead.
gl_NV_texture_shader2 :: Bool
pattern GL_DOT_PRODUCT_TEXTURE_3D_NV :: GLenum

module Graphics.GL.NV.TextureShader

-- | Is the NV_texture_shader extension supported?
glGetNVTextureShader :: MonadIO m => m Bool

-- | Is the NV_texture_shader extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVTextureShader in those cases instead.
gl_NV_texture_shader :: Bool
pattern GL_CONST_EYE_NV :: GLenum
pattern GL_CULL_FRAGMENT_NV :: GLenum
pattern GL_CULL_MODES_NV :: GLenum
pattern GL_DEPENDENT_AR_TEXTURE_2D_NV :: GLenum
pattern GL_DEPENDENT_GB_TEXTURE_2D_NV :: GLenum
pattern GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_DEPTH_REPLACE_NV :: GLenum
pattern GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_NV :: GLenum
pattern GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_2D_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV :: GLenum
pattern GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_DSDT8_MAG8_INTENSITY8_NV :: GLenum
pattern GL_DSDT8_MAG8_NV :: GLenum
pattern GL_DSDT8_NV :: GLenum
pattern GL_DSDT_MAG_INTENSITY_NV :: GLenum
pattern GL_DSDT_MAG_NV :: GLenum
pattern GL_DSDT_MAG_VIB_NV :: GLenum
pattern GL_DSDT_NV :: GLenum
pattern GL_DS_BIAS_NV :: GLenum
pattern GL_DS_SCALE_NV :: GLenum
pattern GL_DT_BIAS_NV :: GLenum
pattern GL_DT_SCALE_NV :: GLenum
pattern GL_HILO16_NV :: GLenum
pattern GL_HILO_NV :: GLenum
pattern GL_HI_BIAS_NV :: GLenum
pattern GL_HI_SCALE_NV :: GLenum
pattern GL_LO_BIAS_NV :: GLenum
pattern GL_LO_SCALE_NV :: GLenum
pattern GL_MAGNITUDE_BIAS_NV :: GLenum
pattern GL_MAGNITUDE_SCALE_NV :: GLenum
pattern GL_OFFSET_TEXTURE_2D_BIAS_NV :: GLenum
pattern GL_OFFSET_TEXTURE_2D_MATRIX_NV :: GLenum
pattern GL_OFFSET_TEXTURE_2D_NV :: GLenum
pattern GL_OFFSET_TEXTURE_2D_SCALE_NV :: GLenum
pattern GL_OFFSET_TEXTURE_BIAS_NV :: GLenum
pattern GL_OFFSET_TEXTURE_MATRIX_NV :: GLenum
pattern GL_OFFSET_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
pattern GL_OFFSET_TEXTURE_SCALE_NV :: GLenum
pattern GL_PASS_THROUGH_NV :: GLenum
pattern GL_PREVIOUS_TEXTURE_INPUT_NV :: GLenum
pattern GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV :: GLenum
pattern GL_SHADER_CONSISTENT_NV :: GLenum
pattern GL_SHADER_OPERATION_NV :: GLenum
pattern GL_SIGNED_ALPHA8_NV :: GLenum
pattern GL_SIGNED_ALPHA_NV :: GLenum
pattern GL_SIGNED_HILO16_NV :: GLenum
pattern GL_SIGNED_HILO_NV :: GLenum
pattern GL_SIGNED_INTENSITY8_NV :: GLenum
pattern GL_SIGNED_INTENSITY_NV :: GLenum
pattern GL_SIGNED_LUMINANCE8_ALPHA8_NV :: GLenum
pattern GL_SIGNED_LUMINANCE8_NV :: GLenum
pattern GL_SIGNED_LUMINANCE_ALPHA_NV :: GLenum
pattern GL_SIGNED_LUMINANCE_NV :: GLenum
pattern GL_SIGNED_RGB8_NV :: GLenum
pattern GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV :: GLenum
pattern GL_SIGNED_RGBA8_NV :: GLenum
pattern GL_SIGNED_RGBA_NV :: GLenum
pattern GL_SIGNED_RGB_NV :: GLenum
pattern GL_SIGNED_RGB_UNSIGNED_ALPHA_NV :: GLenum
pattern GL_TEXTURE_BORDER_VALUES_NV :: GLenum
pattern GL_TEXTURE_DS_SIZE_NV :: GLenum
pattern GL_TEXTURE_DT_SIZE_NV :: GLenum
pattern GL_TEXTURE_HI_SIZE_NV :: GLenum
pattern GL_TEXTURE_LO_SIZE_NV :: GLenum
pattern GL_TEXTURE_MAG_SIZE_NV :: GLenum
pattern GL_TEXTURE_SHADER_NV :: GLenum
pattern GL_UNSIGNED_INT_8_8_S8_S8_REV_NV :: GLenum
pattern GL_UNSIGNED_INT_S8_S8_8_8_NV :: GLenum
pattern GL_VIBRANCE_BIAS_NV :: GLenum
pattern GL_VIBRANCE_SCALE_NV :: GLenum

module Graphics.GL.NV.TextureRectangle

-- | Is the NV_texture_rectangle extension supported?
glGetNVTextureRectangle :: MonadIO m => m Bool

-- | Is the NV_texture_rectangle extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVTextureRectangle in those cases
--   instead.
gl_NV_texture_rectangle :: Bool
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE_NV :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE_NV :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE_NV :: GLenum
pattern GL_TEXTURE_RECTANGLE_NV :: GLenum

module Graphics.GL.NV.TextureExpandNormal

-- | Is the NV_texture_expand_normal extension supported?
glGetNVTextureExpandNormal :: MonadIO m => m Bool

-- | Is the NV_texture_expand_normal extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVTextureExpandNormal in those cases
--   instead.
gl_NV_texture_expand_normal :: Bool
pattern GL_TEXTURE_UNSIGNED_REMAP_MODE_NV :: GLenum

module Graphics.GL.NV.TextureEnvCombine4

-- | Is the NV_texture_env_combine4 extension supported?
glGetNVTextureEnvCombine4 :: MonadIO m => m Bool

-- | Is the NV_texture_env_combine4 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVTextureEnvCombine4 in those cases
--   instead.
gl_NV_texture_env_combine4 :: Bool
pattern GL_COMBINE4_NV :: GLenum
pattern GL_OPERAND3_ALPHA_NV :: GLenum
pattern GL_OPERAND3_RGB_NV :: GLenum
pattern GL_SOURCE3_ALPHA_NV :: GLenum
pattern GL_SOURCE3_RGB_NV :: GLenum

module Graphics.GL.NV.TexgenReflection

-- | Is the NV_texgen_reflection extension supported?
glGetNVTexgenReflection :: MonadIO m => m Bool

-- | Is the NV_texgen_reflection extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVTexgenReflection in those cases
--   instead.
gl_NV_texgen_reflection :: Bool
pattern GL_NORMAL_MAP_NV :: GLenum
pattern GL_REFLECTION_MAP_NV :: GLenum

module Graphics.GL.NV.TexgenEmboss

-- | Is the NV_texgen_emboss extension supported?
glGetNVTexgenEmboss :: MonadIO m => m Bool

-- | Is the NV_texgen_emboss extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVTexgenEmboss in those cases instead.
gl_NV_texgen_emboss :: Bool
pattern GL_EMBOSS_CONSTANT_NV :: GLenum
pattern GL_EMBOSS_LIGHT_NV :: GLenum
pattern GL_EMBOSS_MAP_NV :: GLenum

module Graphics.GL.NV.TessellationProgram5

-- | Is the NV_tessellation_program5 extension supported?
glGetNVTessellationProgram5 :: MonadIO m => m Bool

-- | Is the NV_tessellation_program5 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVTessellationProgram5 in those cases
--   instead.
gl_NV_tessellation_program5 :: Bool
pattern GL_MAX_PROGRAM_PATCH_ATTRIBS_NV :: GLenum
pattern GL_TESS_CONTROL_PROGRAM_NV :: GLenum
pattern GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_TESS_EVALUATION_PROGRAM_NV :: GLenum
pattern GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV :: GLenum

module Graphics.GL.NV.ShaderThreadGroup

-- | Is the NV_shader_thread_group extension supported?
glGetNVShaderThreadGroup :: MonadIO m => m Bool

-- | Is the NV_shader_thread_group extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVShaderThreadGroup in those cases
--   instead.
gl_NV_shader_thread_group :: Bool
pattern GL_SM_COUNT_NV :: GLenum
pattern GL_WARPS_PER_SM_NV :: GLenum
pattern GL_WARP_SIZE_NV :: GLenum

module Graphics.GL.NV.ShaderSubgroupPartitioned

-- | Is the NV_shader_subgroup_partitioned extension supported?
glGetNVShaderSubgroupPartitioned :: MonadIO m => m Bool

-- | Is the NV_shader_subgroup_partitioned extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVShaderSubgroupPartitioned in
--   those cases instead.
gl_NV_shader_subgroup_partitioned :: Bool
pattern GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV :: GLbitfield

module Graphics.GL.NV.ShaderBufferStore

-- | Is the NV_shader_buffer_store extension supported?
glGetNVShaderBufferStore :: MonadIO m => m Bool

-- | Is the NV_shader_buffer_store extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVShaderBufferStore in those cases
--   instead.
gl_NV_shader_buffer_store :: Bool
pattern GL_READ_WRITE :: GLenum
pattern GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV :: GLbitfield
pattern GL_WRITE_ONLY :: GLenum

module Graphics.GL.NV.RobustnessVideoMemoryPurge

-- | Is the NV_robustness_video_memory_purge extension supported?
glGetNVRobustnessVideoMemoryPurge :: MonadIO m => m Bool

-- | Is the NV_robustness_video_memory_purge extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVRobustnessVideoMemoryPurge in those cases instead.
gl_NV_robustness_video_memory_purge :: Bool
pattern GL_PURGED_CONTEXT_RESET_NV :: GLenum

module Graphics.GL.NV.RepresentativeFragmentTest

-- | Is the NV_representative_fragment_test extension supported?
glGetNVRepresentativeFragmentTest :: MonadIO m => m Bool

-- | Is the NV_representative_fragment_test extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVRepresentativeFragmentTest in those cases instead.
gl_NV_representative_fragment_test :: Bool
pattern GL_REPRESENTATIVE_FRAGMENT_TEST_NV :: GLenum

module Graphics.GL.NV.PathRenderingSharedEdge

-- | Is the NV_path_rendering_shared_edge extension supported?
glGetNVPathRenderingSharedEdge :: MonadIO m => m Bool

-- | Is the NV_path_rendering_shared_edge extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVPathRenderingSharedEdge in
--   those cases instead.
gl_NV_path_rendering_shared_edge :: Bool
pattern GL_SHARED_EDGE_NV :: GLubyte

module Graphics.GL.NV.PackedDepthStencil

-- | Is the NV_packed_depth_stencil extension supported?
glGetNVPackedDepthStencil :: MonadIO m => m Bool

-- | Is the NV_packed_depth_stencil extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVPackedDepthStencil in those cases
--   instead.
gl_NV_packed_depth_stencil :: Bool
pattern GL_DEPTH_STENCIL_NV :: GLenum
pattern GL_UNSIGNED_INT_24_8_NV :: GLenum

module Graphics.GL.NV.MultisampleFilterHint

-- | Is the NV_multisample_filter_hint extension supported?
glGetNVMultisampleFilterHint :: MonadIO m => m Bool

-- | Is the NV_multisample_filter_hint extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVMultisampleFilterHint in those
--   cases instead.
gl_NV_multisample_filter_hint :: Bool
pattern GL_MULTISAMPLE_FILTER_HINT_NV :: GLenum

module Graphics.GL.NV.MultisampleCoverage

-- | Is the NV_multisample_coverage extension supported?
glGetNVMultisampleCoverage :: MonadIO m => m Bool

-- | Is the NV_multisample_coverage extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVMultisampleCoverage in those cases
--   instead.
gl_NV_multisample_coverage :: Bool
pattern GL_COLOR_SAMPLES_NV :: GLenum
pattern GL_SAMPLES_ARB :: GLenum

module Graphics.GL.NV.LightMaxExponent

-- | Is the NV_light_max_exponent extension supported?
glGetNVLightMaxExponent :: MonadIO m => m Bool

-- | Is the NV_light_max_exponent extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVLightMaxExponent in those cases
--   instead.
gl_NV_light_max_exponent :: Bool
pattern GL_MAX_SHININESS_NV :: GLenum
pattern GL_MAX_SPOT_EXPONENT_NV :: GLenum

module Graphics.GL.NV.FragmentProgram2

-- | Is the NV_fragment_program2 extension supported?
glGetNVFragmentProgram2 :: MonadIO m => m Bool

-- | Is the NV_fragment_program2 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVFragmentProgram2 in those cases
--   instead.
gl_NV_fragment_program2 :: Bool
pattern GL_MAX_PROGRAM_CALL_DEPTH_NV :: GLenum
pattern GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: GLenum
pattern GL_MAX_PROGRAM_IF_DEPTH_NV :: GLenum
pattern GL_MAX_PROGRAM_LOOP_COUNT_NV :: GLenum
pattern GL_MAX_PROGRAM_LOOP_DEPTH_NV :: GLenum

module Graphics.GL.NV.FogDistance

-- | Is the NV_fog_distance extension supported?
glGetNVFogDistance :: MonadIO m => m Bool

-- | Is the NV_fog_distance extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVFogDistance in those cases instead.
gl_NV_fog_distance :: Bool
pattern GL_EYE_PLANE :: GLenum
pattern GL_EYE_PLANE_ABSOLUTE_NV :: GLenum
pattern GL_EYE_RADIAL_NV :: GLenum
pattern GL_FOG_DISTANCE_MODE_NV :: GLenum

module Graphics.GL.NV.FloatBuffer

-- | Is the NV_float_buffer extension supported?
glGetNVFloatBuffer :: MonadIO m => m Bool

-- | Is the NV_float_buffer extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVFloatBuffer in those cases instead.
gl_NV_float_buffer :: Bool
pattern GL_FLOAT_CLEAR_COLOR_VALUE_NV :: GLenum
pattern GL_FLOAT_R16_NV :: GLenum
pattern GL_FLOAT_R32_NV :: GLenum
pattern GL_FLOAT_RG16_NV :: GLenum
pattern GL_FLOAT_RG32_NV :: GLenum
pattern GL_FLOAT_RGB16_NV :: GLenum
pattern GL_FLOAT_RGB32_NV :: GLenum
pattern GL_FLOAT_RGBA16_NV :: GLenum
pattern GL_FLOAT_RGBA32_NV :: GLenum
pattern GL_FLOAT_RGBA_MODE_NV :: GLenum
pattern GL_FLOAT_RGBA_NV :: GLenum
pattern GL_FLOAT_RGB_NV :: GLenum
pattern GL_FLOAT_RG_NV :: GLenum
pattern GL_FLOAT_R_NV :: GLenum
pattern GL_TEXTURE_FLOAT_COMPONENTS_NV :: GLenum

module Graphics.GL.NV.FillRectangle

-- | Is the NV_fill_rectangle extension supported?
glGetNVFillRectangle :: MonadIO m => m Bool

-- | Is the NV_fill_rectangle extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVFillRectangle in those cases instead.
gl_NV_fill_rectangle :: Bool
pattern GL_FILL_RECTANGLE_NV :: GLenum

module Graphics.GL.NV.DepthClamp

-- | Is the NV_depth_clamp extension supported?
glGetNVDepthClamp :: MonadIO m => m Bool

-- | Is the NV_depth_clamp extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVDepthClamp in those cases instead.
gl_NV_depth_clamp :: Bool
pattern GL_DEPTH_CLAMP_NV :: GLenum

module Graphics.GL.NV.DeepTexture3D

-- | Is the NV_deep_texture3D extension supported?
glGetNVDeepTexture3D :: MonadIO m => m Bool

-- | Is the NV_deep_texture3D extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVDeepTexture3D in those cases instead.
gl_NV_deep_texture3D :: Bool
pattern GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV :: GLenum
pattern GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV :: GLenum

module Graphics.GL.NV.CopyDepthToColor

-- | Is the NV_copy_depth_to_color extension supported?
glGetNVCopyDepthToColor :: MonadIO m => m Bool

-- | Is the NV_copy_depth_to_color extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVCopyDepthToColor in those cases
--   instead.
gl_NV_copy_depth_to_color :: Bool
pattern GL_DEPTH_STENCIL_TO_BGRA_NV :: GLenum
pattern GL_DEPTH_STENCIL_TO_RGBA_NV :: GLenum

module Graphics.GL.NV.ConservativeRasterPreSnap

-- | Is the NV_conservative_raster_pre_snap extension supported?
glGetNVConservativeRasterPreSnap :: MonadIO m => m Bool

-- | Is the NV_conservative_raster_pre_snap extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVConservativeRasterPreSnap in those cases instead.
gl_NV_conservative_raster_pre_snap :: Bool
pattern GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV :: GLenum

module Graphics.GL.NV.ComputeProgram5

-- | Is the NV_compute_program5 extension supported?
glGetNVComputeProgram5 :: MonadIO m => m Bool

-- | Is the NV_compute_program5 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVComputeProgram5 in those cases
--   instead.
gl_NV_compute_program5 :: Bool
pattern GL_COMPUTE_PROGRAM_NV :: GLenum
pattern GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV :: GLenum

module Graphics.GL.NV.BlendMinmaxFactor

-- | Is the NV_blend_minmax_factor extension supported?
glGetNVBlendMinmaxFactor :: MonadIO m => m Bool

-- | Is the NV_blend_minmax_factor extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVBlendMinmaxFactor in those cases
--   instead.
gl_NV_blend_minmax_factor :: Bool
pattern GL_FACTOR_MAX_AMD :: GLenum
pattern GL_FACTOR_MIN_AMD :: GLenum

module Graphics.GL.NV.BlendEquationAdvancedCoherent

-- | Is the NV_blend_equation_advanced_coherent extension supported?
glGetNVBlendEquationAdvancedCoherent :: MonadIO m => m Bool

-- | Is the NV_blend_equation_advanced_coherent extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVBlendEquationAdvancedCoherent in those cases instead.
gl_NV_blend_equation_advanced_coherent :: Bool
pattern GL_BLEND_ADVANCED_COHERENT_NV :: GLenum

module Graphics.GL.MESAX.TextureStack

-- | Is the MESAX_texture_stack extension supported?
glGetMESAXTextureStack :: MonadIO m => m Bool

-- | Is the MESAX_texture_stack extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetMESAXTextureStack in those cases
--   instead.
gl_MESAX_texture_stack :: Bool
pattern GL_PROXY_TEXTURE_1D_STACK_MESAX :: GLenum
pattern GL_PROXY_TEXTURE_2D_STACK_MESAX :: GLenum
pattern GL_TEXTURE_1D_STACK_BINDING_MESAX :: GLenum
pattern GL_TEXTURE_1D_STACK_MESAX :: GLenum
pattern GL_TEXTURE_2D_STACK_BINDING_MESAX :: GLenum
pattern GL_TEXTURE_2D_STACK_MESAX :: GLenum

-- | A convenience module, combining all raw modules containing MESAX
--   extensions.
module Graphics.GL.MESAX

module Graphics.GL.MESA.YCbCrTexture

-- | Is the MESA_ycbcr_texture extension supported?
glGetMESAYCbCrTexture :: MonadIO m => m Bool

-- | Is the MESA_ycbcr_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetMESAYCbCrTexture in those cases instead.
gl_MESA_ycbcr_texture :: Bool
pattern GL_UNSIGNED_SHORT_8_8_MESA :: GLenum
pattern GL_UNSIGNED_SHORT_8_8_REV_MESA :: GLenum
pattern GL_YCBCR_MESA :: GLenum

module Graphics.GL.MESA.TileRasterOrder

-- | Is the MESA_tile_raster_order extension supported?
glGetMESATileRasterOrder :: MonadIO m => m Bool

-- | Is the MESA_tile_raster_order extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetMESATileRasterOrder in those cases
--   instead.
gl_MESA_tile_raster_order :: Bool
pattern GL_TILE_RASTER_ORDER_FIXED_MESA :: GLenum
pattern GL_TILE_RASTER_ORDER_INCREASING_X_MESA :: GLenum
pattern GL_TILE_RASTER_ORDER_INCREASING_Y_MESA :: GLenum

module Graphics.GL.MESA.ProgramBinaryFormats

-- | Is the MESA_program_binary_formats extension supported?
glGetMESAProgramBinaryFormats :: MonadIO m => m Bool

-- | Is the MESA_program_binary_formats extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetMESAProgramBinaryFormats in those
--   cases instead.
gl_MESA_program_binary_formats :: Bool
pattern GL_PROGRAM_BINARY_FORMAT_MESA :: GLenum

module Graphics.GL.MESA.PackInvert

-- | Is the MESA_pack_invert extension supported?
glGetMESAPackInvert :: MonadIO m => m Bool

-- | Is the MESA_pack_invert extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetMESAPackInvert in those cases instead.
gl_MESA_pack_invert :: Bool
pattern GL_PACK_INVERT_MESA :: GLenum

module Graphics.GL.KHR.TextureCompressionASTCLDR

-- | Is the KHR_texture_compression_astc_ldr extension supported?
glGetKHRTextureCompressionASTCLDR :: MonadIO m => m Bool

-- | Is the KHR_texture_compression_astc_ldr extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetKHRTextureCompressionASTCLDR in those cases instead.
gl_KHR_texture_compression_astc_ldr :: Bool
pattern GL_COMPRESSED_RGBA_ASTC_10x10_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x8_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_12x10_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_12x12_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_4x4_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x4_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x8_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: GLenum

module Graphics.GL.KHR.TextureCompressionASTCHDR

-- | Is the KHR_texture_compression_astc_hdr extension supported?
glGetKHRTextureCompressionASTCHDR :: MonadIO m => m Bool

-- | Is the KHR_texture_compression_astc_hdr extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetKHRTextureCompressionASTCHDR in those cases instead.
gl_KHR_texture_compression_astc_hdr :: Bool
pattern GL_COMPRESSED_RGBA_ASTC_10x10_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_10x8_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_12x10_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_12x12_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_4x4_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x4_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_5x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_6x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x5_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x6_KHR :: GLenum
pattern GL_COMPRESSED_RGBA_ASTC_8x8_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: GLenum

module Graphics.GL.KHR.ShaderSubgroup

-- | Is the KHR_shader_subgroup extension supported?
glGetKHRShaderSubgroup :: MonadIO m => m Bool

-- | Is the KHR_shader_subgroup extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetKHRShaderSubgroup in those cases
--   instead.
gl_KHR_shader_subgroup :: Bool
pattern GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_BASIC_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_QUAD_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_FEATURE_VOTE_BIT_KHR :: GLbitfield
pattern GL_SUBGROUP_QUAD_ALL_STAGES_KHR :: GLenum
pattern GL_SUBGROUP_SIZE_KHR :: GLenum
pattern GL_SUBGROUP_SUPPORTED_FEATURES_KHR :: GLenum
pattern GL_SUBGROUP_SUPPORTED_STAGES_KHR :: GLenum

module Graphics.GL.KHR.NoError

-- | Is the KHR_no_error extension supported?
glGetKHRNoError :: MonadIO m => m Bool

-- | Is the KHR_no_error extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetKHRNoError in those cases instead.
gl_KHR_no_error :: Bool
pattern GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR :: GLbitfield

module Graphics.GL.KHR.ContextFlushControl

-- | Is the KHR_context_flush_control extension supported?
glGetKHRContextFlushControl :: MonadIO m => m Bool

-- | Is the KHR_context_flush_control extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetKHRContextFlushControl in those cases
--   instead.
gl_KHR_context_flush_control :: Bool
pattern GL_CONTEXT_RELEASE_BEHAVIOR :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
pattern GL_NONE :: GLenum

module Graphics.GL.KHR.BlendEquationAdvancedCoherent

-- | Is the KHR_blend_equation_advanced_coherent extension
--   supported?
glGetKHRBlendEquationAdvancedCoherent :: MonadIO m => m Bool

-- | Is the KHR_blend_equation_advanced_coherent extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   glGetKHRBlendEquationAdvancedCoherent in those cases instead.
gl_KHR_blend_equation_advanced_coherent :: Bool
pattern GL_BLEND_ADVANCED_COHERENT_KHR :: GLenum

module Graphics.GL.INTEL.ConservativeRasterization

-- | Is the INTEL_conservative_rasterization extension supported?
glGetINTELConservativeRasterization :: MonadIO m => m Bool

-- | Is the INTEL_conservative_rasterization extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetINTELConservativeRasterization in those cases instead.
gl_INTEL_conservative_rasterization :: Bool
pattern GL_CONSERVATIVE_RASTERIZATION_INTEL :: GLenum

module Graphics.GL.INTEL.BlackholeRender

-- | Is the INTEL_blackhole_render extension supported?
glGetINTELBlackholeRender :: MonadIO m => m Bool

-- | Is the INTEL_blackhole_render extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetINTELBlackholeRender in those cases
--   instead.
gl_INTEL_blackhole_render :: Bool
pattern GL_BLACKHOLE_RENDER_INTEL :: GLenum

module Graphics.GL.INGR.InterlaceRead

-- | Is the INGR_interlace_read extension supported?
glGetINGRInterlaceRead :: MonadIO m => m Bool

-- | Is the INGR_interlace_read extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetINGRInterlaceRead in those cases
--   instead.
gl_INGR_interlace_read :: Bool
pattern GL_INTERLACE_READ_INGR :: GLenum

module Graphics.GL.INGR.ColorClamp

-- | Is the INGR_color_clamp extension supported?
glGetINGRColorClamp :: MonadIO m => m Bool

-- | Is the INGR_color_clamp extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetINGRColorClamp in those cases instead.
gl_INGR_color_clamp :: Bool
pattern GL_ALPHA_MAX_CLAMP_INGR :: GLenum
pattern GL_ALPHA_MIN_CLAMP_INGR :: GLenum
pattern GL_BLUE_MAX_CLAMP_INGR :: GLenum
pattern GL_BLUE_MIN_CLAMP_INGR :: GLenum
pattern GL_GREEN_MAX_CLAMP_INGR :: GLenum
pattern GL_GREEN_MIN_CLAMP_INGR :: GLenum
pattern GL_RED_MAX_CLAMP_INGR :: GLenum
pattern GL_RED_MIN_CLAMP_INGR :: GLenum

module Graphics.GL.IBM.TextureMirroredRepeat

-- | Is the IBM_texture_mirrored_repeat extension supported?
glGetIBMTextureMirroredRepeat :: MonadIO m => m Bool

-- | Is the IBM_texture_mirrored_repeat extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetIBMTextureMirroredRepeat in those
--   cases instead.
gl_IBM_texture_mirrored_repeat :: Bool
pattern GL_MIRRORED_REPEAT_IBM :: GLenum

module Graphics.GL.IBM.RasterposClip

-- | Is the IBM_rasterpos_clip extension supported?
glGetIBMRasterposClip :: MonadIO m => m Bool

-- | Is the IBM_rasterpos_clip extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetIBMRasterposClip in those cases instead.
gl_IBM_rasterpos_clip :: Bool
pattern GL_RASTER_POSITION_UNCLIPPED_IBM :: GLenum

module Graphics.GL.IBM.CullVertex

-- | Is the IBM_cull_vertex extension supported?
glGetIBMCullVertex :: MonadIO m => m Bool

-- | Is the IBM_cull_vertex extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetIBMCullVertex in those cases instead.
gl_IBM_cull_vertex :: Bool
pattern GL_CULL_VERTEX_IBM :: GLenum

module Graphics.GL.HP.TextureLighting

-- | Is the HP_texture_lighting extension supported?
glGetHPTextureLighting :: MonadIO m => m Bool

-- | Is the HP_texture_lighting extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetHPTextureLighting in those cases
--   instead.
gl_HP_texture_lighting :: Bool
pattern GL_TEXTURE_LIGHTING_MODE_HP :: GLenum
pattern GL_TEXTURE_POST_SPECULAR_HP :: GLenum
pattern GL_TEXTURE_PRE_SPECULAR_HP :: GLenum

module Graphics.GL.HP.OcclusionTest

-- | Is the HP_occlusion_test extension supported?
glGetHPOcclusionTest :: MonadIO m => m Bool

-- | Is the HP_occlusion_test extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetHPOcclusionTest in those cases instead.
gl_HP_occlusion_test :: Bool
pattern GL_OCCLUSION_TEST_HP :: GLenum
pattern GL_OCCLUSION_TEST_RESULT_HP :: GLenum

module Graphics.GL.HP.ConvolutionBorderModes

-- | Is the HP_convolution_border_modes extension supported?
glGetHPConvolutionBorderModes :: MonadIO m => m Bool

-- | Is the HP_convolution_border_modes extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetHPConvolutionBorderModes in those
--   cases instead.
gl_HP_convolution_border_modes :: Bool
pattern GL_CONSTANT_BORDER_HP :: GLenum
pattern GL_CONVOLUTION_BORDER_COLOR_HP :: GLenum
pattern GL_IGNORE_BORDER_HP :: GLenum
pattern GL_REPLICATE_BORDER_HP :: GLenum

module Graphics.GL.EXT.VertexArrayBGRA

-- | Is the EXT_vertex_array_bgra extension supported?
glGetEXTVertexArrayBGRA :: MonadIO m => m Bool

-- | Is the EXT_vertex_array_bgra extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTVertexArrayBGRA in those cases
--   instead.
gl_EXT_vertex_array_bgra :: Bool
pattern GL_BGRA :: GLenum

module Graphics.GL.EXT.TextureSwizzle

-- | Is the EXT_texture_swizzle extension supported?
glGetEXTTextureSwizzle :: MonadIO m => m Bool

-- | Is the EXT_texture_swizzle extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureSwizzle in those cases
--   instead.
gl_EXT_texture_swizzle :: Bool
pattern GL_TEXTURE_SWIZZLE_A_EXT :: GLenum
pattern GL_TEXTURE_SWIZZLE_B_EXT :: GLenum
pattern GL_TEXTURE_SWIZZLE_G_EXT :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA_EXT :: GLenum
pattern GL_TEXTURE_SWIZZLE_R_EXT :: GLenum

module Graphics.GL.EXT.TextureSharedExponent

-- | Is the EXT_texture_shared_exponent extension supported?
glGetEXTTextureSharedExponent :: MonadIO m => m Bool

-- | Is the EXT_texture_shared_exponent extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTTextureSharedExponent in those
--   cases instead.
gl_EXT_texture_shared_exponent :: Bool
pattern GL_RGB9_E5_EXT :: GLenum
pattern GL_TEXTURE_SHARED_SIZE_EXT :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV_EXT :: GLenum

module Graphics.GL.EXT.TextureSRGBR8

-- | Is the EXT_texture_sRGB_R8 extension supported?
glGetEXTTextureSRGBR8 :: MonadIO m => m Bool

-- | Is the EXT_texture_sRGB_R8 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureSRGBR8 in those cases
--   instead.
gl_EXT_texture_sRGB_R8 :: Bool
pattern GL_SR8_EXT :: GLenum

module Graphics.GL.EXT.TextureSRGBDecode

-- | Is the EXT_texture_sRGB_decode extension supported?
glGetEXTTextureSRGBDecode :: MonadIO m => m Bool

-- | Is the EXT_texture_sRGB_decode extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureSRGBDecode in those cases
--   instead.
gl_EXT_texture_sRGB_decode :: Bool
pattern GL_DECODE_EXT :: GLenum
pattern GL_SKIP_DECODE_EXT :: GLenum
pattern GL_TEXTURE_SRGB_DECODE_EXT :: GLenum

module Graphics.GL.EXT.TextureSRGB

-- | Is the EXT_texture_sRGB extension supported?
glGetEXTTextureSRGB :: MonadIO m => m Bool

-- | Is the EXT_texture_sRGB extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTTextureSRGB in those cases instead.
gl_EXT_texture_sRGB :: Bool
pattern GL_COMPRESSED_SLUMINANCE_ALPHA_EXT :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_EXT :: GLenum
pattern GL_COMPRESSED_SRGB_S3TC_DXT1_EXT :: GLenum
pattern GL_SLUMINANCE8_ALPHA8_EXT :: GLenum
pattern GL_SLUMINANCE8_EXT :: GLenum
pattern GL_SLUMINANCE_ALPHA_EXT :: GLenum
pattern GL_SLUMINANCE_EXT :: GLenum
pattern GL_SRGB8_ALPHA8_EXT :: GLenum
pattern GL_SRGB8_EXT :: GLenum
pattern GL_SRGB_ALPHA_EXT :: GLenum
pattern GL_SRGB_EXT :: GLenum

module Graphics.GL.EXT.TextureSNorm

-- | Is the EXT_texture_snorm extension supported?
glGetEXTTextureSNorm :: MonadIO m => m Bool

-- | Is the EXT_texture_snorm extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTTextureSNorm in those cases instead.
gl_EXT_texture_snorm :: Bool
pattern GL_ALPHA16_SNORM :: GLenum
pattern GL_ALPHA8_SNORM :: GLenum
pattern GL_ALPHA_SNORM :: GLenum
pattern GL_INTENSITY16_SNORM :: GLenum
pattern GL_INTENSITY8_SNORM :: GLenum
pattern GL_INTENSITY_SNORM :: GLenum
pattern GL_LUMINANCE16_ALPHA16_SNORM :: GLenum
pattern GL_LUMINANCE16_SNORM :: GLenum
pattern GL_LUMINANCE8_ALPHA8_SNORM :: GLenum
pattern GL_LUMINANCE8_SNORM :: GLenum
pattern GL_LUMINANCE_ALPHA_SNORM :: GLenum
pattern GL_LUMINANCE_SNORM :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RED_SNORM :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_SNORM :: GLenum
pattern GL_RGB_SNORM :: GLenum
pattern GL_RG_SNORM :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum

module Graphics.GL.EXT.TextureMirrorClamp

-- | Is the EXT_texture_mirror_clamp extension supported?
glGetEXTTextureMirrorClamp :: MonadIO m => m Bool

-- | Is the EXT_texture_mirror_clamp extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureMirrorClamp in those cases
--   instead.
gl_EXT_texture_mirror_clamp :: Bool
pattern GL_MIRROR_CLAMP_EXT :: GLenum
pattern GL_MIRROR_CLAMP_TO_BORDER_EXT :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE_EXT :: GLenum

module Graphics.GL.EXT.TextureLODBias

-- | Is the EXT_texture_lod_bias extension supported?
glGetEXTTextureLODBias :: MonadIO m => m Bool

-- | Is the EXT_texture_lod_bias extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureLODBias in those cases
--   instead.
gl_EXT_texture_lod_bias :: Bool
pattern GL_MAX_TEXTURE_LOD_BIAS_EXT :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL_EXT :: GLenum
pattern GL_TEXTURE_LOD_BIAS_EXT :: GLenum

module Graphics.GL.EXT.TextureFilterMinmax

-- | Is the EXT_texture_filter_minmax extension supported?
glGetEXTTextureFilterMinmax :: MonadIO m => m Bool

-- | Is the EXT_texture_filter_minmax extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureFilterMinmax in those cases
--   instead.
gl_EXT_texture_filter_minmax :: Bool
pattern GL_TEXTURE_REDUCTION_MODE_EXT :: GLenum
pattern GL_WEIGHTED_AVERAGE_EXT :: GLenum

module Graphics.GL.EXT.TextureFilterAnisotropic

-- | Is the EXT_texture_filter_anisotropic extension supported?
glGetEXTTextureFilterAnisotropic :: MonadIO m => m Bool

-- | Is the EXT_texture_filter_anisotropic extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTTextureFilterAnisotropic in
--   those cases instead.
gl_EXT_texture_filter_anisotropic :: Bool
pattern GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
pattern GL_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum

module Graphics.GL.EXT.TextureEnvDot3

-- | Is the EXT_texture_env_dot3 extension supported?
glGetEXTTextureEnvDot3 :: MonadIO m => m Bool

-- | Is the EXT_texture_env_dot3 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureEnvDot3 in those cases
--   instead.
gl_EXT_texture_env_dot3 :: Bool
pattern GL_DOT3_RGBA_EXT :: GLenum
pattern GL_DOT3_RGB_EXT :: GLenum

module Graphics.GL.EXT.TextureEnvCombine

-- | Is the EXT_texture_env_combine extension supported?
glGetEXTTextureEnvCombine :: MonadIO m => m Bool

-- | Is the EXT_texture_env_combine extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureEnvCombine in those cases
--   instead.
gl_EXT_texture_env_combine :: Bool
pattern GL_ADD_SIGNED_EXT :: GLenum
pattern GL_COMBINE_ALPHA_EXT :: GLenum
pattern GL_COMBINE_EXT :: GLenum
pattern GL_COMBINE_RGB_EXT :: GLenum
pattern GL_CONSTANT_EXT :: GLenum
pattern GL_INTERPOLATE_EXT :: GLenum
pattern GL_OPERAND0_ALPHA_EXT :: GLenum
pattern GL_OPERAND0_RGB_EXT :: GLenum
pattern GL_OPERAND1_ALPHA_EXT :: GLenum
pattern GL_OPERAND1_RGB_EXT :: GLenum
pattern GL_OPERAND2_ALPHA_EXT :: GLenum
pattern GL_OPERAND2_RGB_EXT :: GLenum
pattern GL_PREVIOUS_EXT :: GLenum
pattern GL_PRIMARY_COLOR_EXT :: GLenum
pattern GL_RGB_SCALE_EXT :: GLenum
pattern GL_SOURCE0_ALPHA_EXT :: GLenum
pattern GL_SOURCE0_RGB_EXT :: GLenum
pattern GL_SOURCE1_ALPHA_EXT :: GLenum
pattern GL_SOURCE1_RGB_EXT :: GLenum
pattern GL_SOURCE2_ALPHA_EXT :: GLenum
pattern GL_SOURCE2_RGB_EXT :: GLenum

module Graphics.GL.EXT.TextureCubeMap

-- | Is the EXT_texture_cube_map extension supported?
glGetEXTTextureCubeMap :: MonadIO m => m Bool

-- | Is the EXT_texture_cube_map extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureCubeMap in those cases
--   instead.
gl_EXT_texture_cube_map :: Bool
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT :: GLenum
pattern GL_NORMAL_MAP_EXT :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_EXT :: GLenum
pattern GL_REFLECTION_MAP_EXT :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT :: GLenum

module Graphics.GL.EXT.TextureCompressionS3TC

-- | Is the EXT_texture_compression_s3tc extension supported?
glGetEXTTextureCompressionS3TC :: MonadIO m => m Bool

-- | Is the EXT_texture_compression_s3tc extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTTextureCompressionS3TC in
--   those cases instead.
gl_EXT_texture_compression_s3tc :: Bool
pattern GL_COMPRESSED_RGBA_S3TC_DXT1_EXT :: GLenum
pattern GL_COMPRESSED_RGBA_S3TC_DXT3_EXT :: GLenum
pattern GL_COMPRESSED_RGBA_S3TC_DXT5_EXT :: GLenum
pattern GL_COMPRESSED_RGB_S3TC_DXT1_EXT :: GLenum

module Graphics.GL.EXT.TextureCompressionRGTC

-- | Is the EXT_texture_compression_rgtc extension supported?
glGetEXTTextureCompressionRGTC :: MonadIO m => m Bool

-- | Is the EXT_texture_compression_rgtc extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTTextureCompressionRGTC in
--   those cases instead.
gl_EXT_texture_compression_rgtc :: Bool
pattern GL_COMPRESSED_RED_GREEN_RGTC2_EXT :: GLenum
pattern GL_COMPRESSED_RED_RGTC1_EXT :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1_EXT :: GLenum

module Graphics.GL.EXT.TextureCompressionLATC

-- | Is the EXT_texture_compression_latc extension supported?
glGetEXTTextureCompressionLATC :: MonadIO m => m Bool

-- | Is the EXT_texture_compression_latc extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTTextureCompressionLATC in
--   those cases instead.
gl_EXT_texture_compression_latc :: Bool
pattern GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
pattern GL_COMPRESSED_LUMINANCE_LATC1_EXT :: GLenum
pattern GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
pattern GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT :: GLenum

module Graphics.GL.EXT.Texture

-- | Is the EXT_texture extension supported?
glGetEXTTexture :: MonadIO m => m Bool

-- | Is the EXT_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTTexture in those cases instead.
gl_EXT_texture :: Bool
pattern GL_ALPHA12_EXT :: GLenum
pattern GL_ALPHA16_EXT :: GLenum
pattern GL_ALPHA4_EXT :: GLenum
pattern GL_ALPHA8_EXT :: GLenum
pattern GL_INTENSITY12_EXT :: GLenum
pattern GL_INTENSITY16_EXT :: GLenum
pattern GL_INTENSITY4_EXT :: GLenum
pattern GL_INTENSITY8_EXT :: GLenum
pattern GL_INTENSITY_EXT :: GLenum
pattern GL_LUMINANCE12_ALPHA12_EXT :: GLenum
pattern GL_LUMINANCE12_ALPHA4_EXT :: GLenum
pattern GL_LUMINANCE12_EXT :: GLenum
pattern GL_LUMINANCE16_ALPHA16_EXT :: GLenum
pattern GL_LUMINANCE16_EXT :: GLenum
pattern GL_LUMINANCE4_ALPHA4_EXT :: GLenum
pattern GL_LUMINANCE4_EXT :: GLenum
pattern GL_LUMINANCE6_ALPHA2_EXT :: GLenum
pattern GL_LUMINANCE8_ALPHA8_EXT :: GLenum
pattern GL_LUMINANCE8_EXT :: GLenum
pattern GL_PROXY_TEXTURE_1D_EXT :: GLenum
pattern GL_PROXY_TEXTURE_2D_EXT :: GLenum
pattern GL_REPLACE_EXT :: GLenum
pattern GL_RGB10_A2_EXT :: GLenum
pattern GL_RGB10_EXT :: GLenum
pattern GL_RGB12_EXT :: GLenum
pattern GL_RGB16_EXT :: GLenum
pattern GL_RGB2_EXT :: GLenum
pattern GL_RGB4_EXT :: GLenum
pattern GL_RGB5_A1_EXT :: GLenum
pattern GL_RGB5_EXT :: GLenum
pattern GL_RGB8_EXT :: GLenum
pattern GL_RGBA12_EXT :: GLenum
pattern GL_RGBA16_EXT :: GLenum
pattern GL_RGBA2_EXT :: GLenum
pattern GL_RGBA4_EXT :: GLenum
pattern GL_RGBA8_EXT :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE_EXT :: GLenum
pattern GL_TEXTURE_BLUE_SIZE_EXT :: GLenum
pattern GL_TEXTURE_GREEN_SIZE_EXT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE_EXT :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE_EXT :: GLenum
pattern GL_TEXTURE_RED_SIZE_EXT :: GLenum
pattern GL_TEXTURE_TOO_LARGE_EXT :: GLenum

module Graphics.GL.EXT.StencilWrap

-- | Is the EXT_stencil_wrap extension supported?
glGetEXTStencilWrap :: MonadIO m => m Bool

-- | Is the EXT_stencil_wrap extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTStencilWrap in those cases instead.
gl_EXT_stencil_wrap :: Bool
pattern GL_DECR_WRAP_EXT :: GLenum
pattern GL_INCR_WRAP_EXT :: GLenum

module Graphics.GL.EXT.SharedTexturePalette

-- | Is the EXT_shared_texture_palette extension supported?
glGetEXTSharedTexturePalette :: MonadIO m => m Bool

-- | Is the EXT_shared_texture_palette extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTSharedTexturePalette in those
--   cases instead.
gl_EXT_shared_texture_palette :: Bool
pattern GL_SHARED_TEXTURE_PALETTE_EXT :: GLenum

module Graphics.GL.EXT.ShaderFramebufferFetch

-- | Is the EXT_shader_framebuffer_fetch extension supported?
glGetEXTShaderFramebufferFetch :: MonadIO m => m Bool

-- | Is the EXT_shader_framebuffer_fetch extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTShaderFramebufferFetch in
--   those cases instead.
gl_EXT_shader_framebuffer_fetch :: Bool
pattern GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT :: GLenum

module Graphics.GL.EXT.SeparateSpecularColor

-- | Is the EXT_separate_specular_color extension supported?
glGetEXTSeparateSpecularColor :: MonadIO m => m Bool

-- | Is the EXT_separate_specular_color extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTSeparateSpecularColor in those
--   cases instead.
gl_EXT_separate_specular_color :: Bool
pattern GL_LIGHT_MODEL_COLOR_CONTROL_EXT :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR_EXT :: GLenum
pattern GL_SINGLE_COLOR_EXT :: GLenum

module Graphics.GL.EXT.RescaleNormal

-- | Is the EXT_rescale_normal extension supported?
glGetEXTRescaleNormal :: MonadIO m => m Bool

-- | Is the EXT_rescale_normal extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTRescaleNormal in those cases instead.
gl_EXT_rescale_normal :: Bool
pattern GL_RESCALE_NORMAL_EXT :: GLenum

module Graphics.GL.EXT.PixelBufferObject

-- | Is the EXT_pixel_buffer_object extension supported?
glGetEXTPixelBufferObject :: MonadIO m => m Bool

-- | Is the EXT_pixel_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTPixelBufferObject in those cases
--   instead.
gl_EXT_pixel_buffer_object :: Bool
pattern GL_PIXEL_PACK_BUFFER_BINDING_EXT :: GLenum
pattern GL_PIXEL_PACK_BUFFER_EXT :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING_EXT :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_EXT :: GLenum

module Graphics.GL.EXT.PackedPixels

-- | Is the EXT_packed_pixels extension supported?
glGetEXTPackedPixels :: MonadIO m => m Bool

-- | Is the EXT_packed_pixels extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTPackedPixels in those cases instead.
gl_EXT_packed_pixels :: Bool
pattern GL_UNSIGNED_BYTE_3_3_2_EXT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2_EXT :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_EXT :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_EXT :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1_EXT :: GLenum

module Graphics.GL.EXT.PackedFloat

-- | Is the EXT_packed_float extension supported?
glGetEXTPackedFloat :: MonadIO m => m Bool

-- | Is the EXT_packed_float extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTPackedFloat in those cases instead.
gl_EXT_packed_float :: Bool
pattern GL_R11F_G11F_B10F_EXT :: GLenum
pattern GL_RGBA_SIGNED_COMPONENTS_EXT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV_EXT :: GLenum

module Graphics.GL.EXT.PackedDepthStencil

-- | Is the EXT_packed_depth_stencil extension supported?
glGetEXTPackedDepthStencil :: MonadIO m => m Bool

-- | Is the EXT_packed_depth_stencil extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTPackedDepthStencil in those cases
--   instead.
gl_EXT_packed_depth_stencil :: Bool
pattern GL_DEPTH24_STENCIL8_EXT :: GLenum
pattern GL_DEPTH_STENCIL_EXT :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE_EXT :: GLenum
pattern GL_UNSIGNED_INT_24_8_EXT :: GLenum

module Graphics.GL.EXT.IndexArrayFormats

-- | Is the EXT_index_array_formats extension supported?
glGetEXTIndexArrayFormats :: MonadIO m => m Bool

-- | Is the EXT_index_array_formats extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTIndexArrayFormats in those cases
--   instead.
gl_EXT_index_array_formats :: Bool
pattern GL_IUI_N3F_V2F_EXT :: GLenum
pattern GL_IUI_N3F_V3F_EXT :: GLenum
pattern GL_IUI_V2F_EXT :: GLenum
pattern GL_IUI_V3F_EXT :: GLenum
pattern GL_T2F_IUI_N3F_V2F_EXT :: GLenum
pattern GL_T2F_IUI_N3F_V3F_EXT :: GLenum
pattern GL_T2F_IUI_V2F_EXT :: GLenum
pattern GL_T2F_IUI_V3F_EXT :: GLenum

module Graphics.GL.EXT.FramebufferSRGB

-- | Is the EXT_framebuffer_sRGB extension supported?
glGetEXTFramebufferSRGB :: MonadIO m => m Bool

-- | Is the EXT_framebuffer_sRGB extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTFramebufferSRGB in those cases
--   instead.
gl_EXT_framebuffer_sRGB :: Bool
pattern GL_FRAMEBUFFER_SRGB_CAPABLE_EXT :: GLenum
pattern GL_FRAMEBUFFER_SRGB_EXT :: GLenum

module Graphics.GL.EXT.FramebufferMultisampleBlitScaled

-- | Is the EXT_framebuffer_multisample_blit_scaled extension
--   supported?
glGetEXTFramebufferMultisampleBlitScaled :: MonadIO m => m Bool

-- | Is the EXT_framebuffer_multisample_blit_scaled extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   glGetEXTFramebufferMultisampleBlitScaled in those cases
--   instead.
gl_EXT_framebuffer_multisample_blit_scaled :: Bool
pattern GL_SCALED_RESOLVE_FASTEST_EXT :: GLenum
pattern GL_SCALED_RESOLVE_NICEST_EXT :: GLenum

module Graphics.GL.EXT.FourTwoTwoPixels

-- | Is the EXT_422_pixels extension supported?
glGetEXTFourTwoTwoPixels :: MonadIO m => m Bool

-- | Is the EXT_422_pixels extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTFourTwoTwoPixels in those cases instead.
gl_EXT_422_pixels :: Bool
pattern GL_422_AVERAGE_EXT :: GLenum
pattern GL_422_EXT :: GLenum
pattern GL_422_REV_AVERAGE_EXT :: GLenum
pattern GL_422_REV_EXT :: GLenum

module Graphics.GL.EXT.ClipVolumeHint

-- | Is the EXT_clip_volume_hint extension supported?
glGetEXTClipVolumeHint :: MonadIO m => m Bool

-- | Is the EXT_clip_volume_hint extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTClipVolumeHint in those cases
--   instead.
gl_EXT_clip_volume_hint :: Bool
pattern GL_CLIP_VOLUME_CLIPPING_HINT_EXT :: GLenum

module Graphics.GL.EXT.CMYKA

-- | Is the EXT_cmyka extension supported?
glGetEXTCMYKA :: MonadIO m => m Bool

-- | Is the EXT_cmyka extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use glGetEXTCMYKA in those cases instead.
gl_EXT_cmyka :: Bool
pattern GL_CMYKA_EXT :: GLenum
pattern GL_CMYK_EXT :: GLenum
pattern GL_PACK_CMYK_HINT_EXT :: GLenum
pattern GL_UNPACK_CMYK_HINT_EXT :: GLenum

module Graphics.GL.EXT.BlendSubtract

-- | Is the EXT_blend_subtract extension supported?
glGetEXTBlendSubtract :: MonadIO m => m Bool

-- | Is the EXT_blend_subtract extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTBlendSubtract in those cases instead.
gl_EXT_blend_subtract :: Bool
pattern GL_FUNC_REVERSE_SUBTRACT_EXT :: GLenum
pattern GL_FUNC_SUBTRACT_EXT :: GLenum

module Graphics.GL.EXT.BGRA

-- | Is the EXT_bgra extension supported?
glGetEXTBGRA :: MonadIO m => m Bool

-- | Is the EXT_bgra extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use glGetEXTBGRA in those cases instead.
gl_EXT_bgra :: Bool
pattern GL_BGRA_EXT :: GLenum
pattern GL_BGR_EXT :: GLenum

module Graphics.GL.EXT.ABGR

-- | Is the EXT_abgr extension supported?
glGetEXTABGR :: MonadIO m => m Bool

-- | Is the EXT_abgr extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use glGetEXTABGR in those cases instead.
gl_EXT_abgr :: Bool
pattern GL_ABGR_EXT :: GLenum

module Graphics.GL.ATI.TextureMirrorOnce

-- | Is the ATI_texture_mirror_once extension supported?
glGetATITextureMirrorOnce :: MonadIO m => m Bool

-- | Is the ATI_texture_mirror_once extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetATITextureMirrorOnce in those cases
--   instead.
gl_ATI_texture_mirror_once :: Bool
pattern GL_MIRROR_CLAMP_ATI :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE_ATI :: GLenum

module Graphics.GL.ATI.TextureFloat

-- | Is the ATI_texture_float extension supported?
glGetATITextureFloat :: MonadIO m => m Bool

-- | Is the ATI_texture_float extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetATITextureFloat in those cases instead.
gl_ATI_texture_float :: Bool
pattern GL_ALPHA_FLOAT16_ATI :: GLenum
pattern GL_ALPHA_FLOAT32_ATI :: GLenum
pattern GL_INTENSITY_FLOAT16_ATI :: GLenum
pattern GL_INTENSITY_FLOAT32_ATI :: GLenum
pattern GL_LUMINANCE_ALPHA_FLOAT16_ATI :: GLenum
pattern GL_LUMINANCE_ALPHA_FLOAT32_ATI :: GLenum
pattern GL_LUMINANCE_FLOAT16_ATI :: GLenum
pattern GL_LUMINANCE_FLOAT32_ATI :: GLenum
pattern GL_RGBA_FLOAT16_ATI :: GLenum
pattern GL_RGBA_FLOAT32_ATI :: GLenum
pattern GL_RGB_FLOAT16_ATI :: GLenum
pattern GL_RGB_FLOAT32_ATI :: GLenum

module Graphics.GL.ATI.TextureEnvCombine3

-- | Is the ATI_texture_env_combine3 extension supported?
glGetATITextureEnvCombine3 :: MonadIO m => m Bool

-- | Is the ATI_texture_env_combine3 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetATITextureEnvCombine3 in those cases
--   instead.
gl_ATI_texture_env_combine3 :: Bool
pattern GL_MODULATE_ADD_ATI :: GLenum
pattern GL_MODULATE_SIGNED_ADD_ATI :: GLenum
pattern GL_MODULATE_SUBTRACT_ATI :: GLenum

module Graphics.GL.ATI.TextFragmentShader

-- | Is the ATI_text_fragment_shader extension supported?
glGetATITextFragmentShader :: MonadIO m => m Bool

-- | Is the ATI_text_fragment_shader extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetATITextFragmentShader in those cases
--   instead.
gl_ATI_text_fragment_shader :: Bool
pattern GL_TEXT_FRAGMENT_SHADER_ATI :: GLenum

module Graphics.GL.ATI.PixelFormatFloat

-- | Is the ATI_pixel_format_float extension supported?
glGetATIPixelFormatFloat :: MonadIO m => m Bool

-- | Is the ATI_pixel_format_float extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetATIPixelFormatFloat in those cases
--   instead.
gl_ATI_pixel_format_float :: Bool
pattern GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI :: GLenum
pattern GL_RGBA_FLOAT_MODE_ATI :: GLenum

module Graphics.GL.ATI.Meminfo

-- | Is the ATI_meminfo extension supported?
glGetATIMeminfo :: MonadIO m => m Bool

-- | Is the ATI_meminfo extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetATIMeminfo in those cases instead.
gl_ATI_meminfo :: Bool
pattern GL_RENDERBUFFER_FREE_MEMORY_ATI :: GLenum
pattern GL_TEXTURE_FREE_MEMORY_ATI :: GLenum
pattern GL_VBO_FREE_MEMORY_ATI :: GLenum

module Graphics.GL.ARB.VertexType10f11f11fRev

-- | Is the ARB_vertex_type_10f_11f_11f_rev extension supported?
glGetARBVertexType10f11f11fRev :: MonadIO m => m Bool

-- | Is the ARB_vertex_type_10f_11f_11f_rev extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBVertexType10f11f11fRev in those cases instead.
gl_ARB_vertex_type_10f_11f_11f_rev :: Bool
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum

module Graphics.GL.ARB.VertexArrayBGRA

-- | Is the ARB_vertex_array_bgra extension supported?
glGetARBVertexArrayBGRA :: MonadIO m => m Bool

-- | Is the ARB_vertex_array_bgra extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBVertexArrayBGRA in those cases
--   instead.
gl_ARB_vertex_array_bgra :: Bool
pattern GL_BGRA :: GLenum

module Graphics.GL.ARB.TransformFeedbackOverflowQuery

-- | Is the ARB_transform_feedback_overflow_query extension
--   supported?
glGetARBTransformFeedbackOverflowQuery :: MonadIO m => m Bool

-- | Is the ARB_transform_feedback_overflow_query extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   glGetARBTransformFeedbackOverflowQuery in those cases instead.
gl_ARB_transform_feedback_overflow_query :: Bool
pattern GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB :: GLenum
pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB :: GLenum

module Graphics.GL.ARB.TextureSwizzle

-- | Is the ARB_texture_swizzle extension supported?
glGetARBTextureSwizzle :: MonadIO m => m Bool

-- | Is the ARB_texture_swizzle extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureSwizzle in those cases
--   instead.
gl_ARB_texture_swizzle :: Bool
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum

module Graphics.GL.ARB.TextureStencil8

-- | Is the ARB_texture_stencil8 extension supported?
glGetARBTextureStencil8 :: MonadIO m => m Bool

-- | Is the ARB_texture_stencil8 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureStencil8 in those cases
--   instead.
gl_ARB_texture_stencil8 :: Bool
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum

module Graphics.GL.ARB.TextureRectangle

-- | Is the ARB_texture_rectangle extension supported?
glGetARBTextureRectangle :: MonadIO m => m Bool

-- | Is the ARB_texture_rectangle extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureRectangle in those cases
--   instead.
gl_ARB_texture_rectangle :: Bool
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE_ARB :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE_ARB :: GLenum
pattern GL_TEXTURE_RECTANGLE_ARB :: GLenum

module Graphics.GL.ARB.TextureRGB10A2UI

-- | Is the ARB_texture_rgb10_a2ui extension supported?
glGetARBTextureRGB10A2UI :: MonadIO m => m Bool

-- | Is the ARB_texture_rgb10_a2ui extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureRGB10A2UI in those cases
--   instead.
gl_ARB_texture_rgb10_a2ui :: Bool
pattern GL_RGB10_A2UI :: GLenum

module Graphics.GL.ARB.TextureRG

-- | Is the ARB_texture_rg extension supported?
glGetARBTextureRG :: MonadIO m => m Bool

-- | Is the ARB_texture_rg extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBTextureRG in those cases instead.
gl_ARB_texture_rg :: Bool
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG_INTEGER :: GLenum

module Graphics.GL.ARB.TextureMirroredRepeat

-- | Is the ARB_texture_mirrored_repeat extension supported?
glGetARBTextureMirroredRepeat :: MonadIO m => m Bool

-- | Is the ARB_texture_mirrored_repeat extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBTextureMirroredRepeat in those
--   cases instead.
gl_ARB_texture_mirrored_repeat :: Bool
pattern GL_MIRRORED_REPEAT_ARB :: GLenum

module Graphics.GL.ARB.TextureMirrorClampToEdge

-- | Is the ARB_texture_mirror_clamp_to_edge extension supported?
glGetARBTextureMirrorClampToEdge :: MonadIO m => m Bool

-- | Is the ARB_texture_mirror_clamp_to_edge extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBTextureMirrorClampToEdge in those cases instead.
gl_ARB_texture_mirror_clamp_to_edge :: Bool
pattern GL_MIRROR_CLAMP_TO_EDGE :: GLenum

module Graphics.GL.ARB.TextureGather

-- | Is the ARB_texture_gather extension supported?
glGetARBTextureGather :: MonadIO m => m Bool

-- | Is the ARB_texture_gather extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBTextureGather in those cases instead.
gl_ARB_texture_gather :: Bool
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum

module Graphics.GL.ARB.TextureFloat

-- | Is the ARB_texture_float extension supported?
glGetARBTextureFloat :: MonadIO m => m Bool

-- | Is the ARB_texture_float extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBTextureFloat in those cases instead.
gl_ARB_texture_float :: Bool
pattern GL_ALPHA16F_ARB :: GLenum
pattern GL_ALPHA32F_ARB :: GLenum
pattern GL_INTENSITY16F_ARB :: GLenum
pattern GL_INTENSITY32F_ARB :: GLenum
pattern GL_LUMINANCE16F_ARB :: GLenum
pattern GL_LUMINANCE32F_ARB :: GLenum
pattern GL_LUMINANCE_ALPHA16F_ARB :: GLenum
pattern GL_LUMINANCE_ALPHA32F_ARB :: GLenum
pattern GL_RGB16F_ARB :: GLenum
pattern GL_RGB32F_ARB :: GLenum
pattern GL_RGBA16F_ARB :: GLenum
pattern GL_RGBA32F_ARB :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE_ARB :: GLenum
pattern GL_TEXTURE_BLUE_TYPE_ARB :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE_ARB :: GLenum
pattern GL_TEXTURE_GREEN_TYPE_ARB :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE_ARB :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE_ARB :: GLenum
pattern GL_TEXTURE_RED_TYPE_ARB :: GLenum
pattern GL_UNSIGNED_NORMALIZED_ARB :: GLenum

module Graphics.GL.ARB.TextureFilterMinmax

-- | Is the ARB_texture_filter_minmax extension supported?
glGetARBTextureFilterMinmax :: MonadIO m => m Bool

-- | Is the ARB_texture_filter_minmax extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureFilterMinmax in those cases
--   instead.
gl_ARB_texture_filter_minmax :: Bool
pattern GL_TEXTURE_REDUCTION_MODE_ARB :: GLenum
pattern GL_WEIGHTED_AVERAGE_ARB :: GLenum

module Graphics.GL.ARB.TextureFilterAnisotropic

-- | Is the ARB_texture_filter_anisotropic extension supported?
glGetARBTextureFilterAnisotropic :: MonadIO m => m Bool

-- | Is the ARB_texture_filter_anisotropic extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBTextureFilterAnisotropic in
--   those cases instead.
gl_ARB_texture_filter_anisotropic :: Bool
pattern GL_MAX_TEXTURE_MAX_ANISOTROPY :: GLenum
pattern GL_TEXTURE_MAX_ANISOTROPY :: GLenum

module Graphics.GL.ARB.TextureEnvDot3

-- | Is the ARB_texture_env_dot3 extension supported?
glGetARBTextureEnvDot3 :: MonadIO m => m Bool

-- | Is the ARB_texture_env_dot3 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureEnvDot3 in those cases
--   instead.
gl_ARB_texture_env_dot3 :: Bool
pattern GL_DOT3_RGBA_ARB :: GLenum
pattern GL_DOT3_RGB_ARB :: GLenum

module Graphics.GL.ARB.TextureEnvCombine

-- | Is the ARB_texture_env_combine extension supported?
glGetARBTextureEnvCombine :: MonadIO m => m Bool

-- | Is the ARB_texture_env_combine extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureEnvCombine in those cases
--   instead.
gl_ARB_texture_env_combine :: Bool
pattern GL_ADD_SIGNED_ARB :: GLenum
pattern GL_COMBINE_ALPHA_ARB :: GLenum
pattern GL_COMBINE_ARB :: GLenum
pattern GL_COMBINE_RGB_ARB :: GLenum
pattern GL_CONSTANT_ARB :: GLenum
pattern GL_INTERPOLATE_ARB :: GLenum
pattern GL_OPERAND0_ALPHA_ARB :: GLenum
pattern GL_OPERAND0_RGB_ARB :: GLenum
pattern GL_OPERAND1_ALPHA_ARB :: GLenum
pattern GL_OPERAND1_RGB_ARB :: GLenum
pattern GL_OPERAND2_ALPHA_ARB :: GLenum
pattern GL_OPERAND2_RGB_ARB :: GLenum
pattern GL_PREVIOUS_ARB :: GLenum
pattern GL_PRIMARY_COLOR_ARB :: GLenum
pattern GL_RGB_SCALE_ARB :: GLenum
pattern GL_SOURCE0_ALPHA_ARB :: GLenum
pattern GL_SOURCE0_RGB_ARB :: GLenum
pattern GL_SOURCE1_ALPHA_ARB :: GLenum
pattern GL_SOURCE1_RGB_ARB :: GLenum
pattern GL_SOURCE2_ALPHA_ARB :: GLenum
pattern GL_SOURCE2_RGB_ARB :: GLenum
pattern GL_SUBTRACT_ARB :: GLenum

module Graphics.GL.ARB.TextureCubeMapArray

-- | Is the ARB_texture_cube_map_array extension supported?
glGetARBTextureCubeMapArray :: MonadIO m => m Bool

-- | Is the ARB_texture_cube_map_array extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBTextureCubeMapArray in those
--   cases instead.
gl_ARB_texture_cube_map_array :: Bool
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum

module Graphics.GL.ARB.TextureCubeMap

-- | Is the ARB_texture_cube_map extension supported?
glGetARBTextureCubeMap :: MonadIO m => m Bool

-- | Is the ARB_texture_cube_map extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureCubeMap in those cases
--   instead.
gl_ARB_texture_cube_map :: Bool
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB :: GLenum
pattern GL_NORMAL_MAP_ARB :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARB :: GLenum
pattern GL_REFLECTION_MAP_ARB :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB :: GLenum

module Graphics.GL.ARB.TextureCompressionRGTC

-- | Is the ARB_texture_compression_rgtc extension supported?
glGetARBTextureCompressionRGTC :: MonadIO m => m Bool

-- | Is the ARB_texture_compression_rgtc extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBTextureCompressionRGTC in
--   those cases instead.
gl_ARB_texture_compression_rgtc :: Bool
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum

module Graphics.GL.ARB.TextureCompressionBPTC

-- | Is the ARB_texture_compression_bptc extension supported?
glGetARBTextureCompressionBPTC :: MonadIO m => m Bool

-- | Is the ARB_texture_compression_bptc extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBTextureCompressionBPTC in
--   those cases instead.
gl_ARB_texture_compression_bptc :: Bool
pattern GL_COMPRESSED_RGBA_BPTC_UNORM_ARB :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB :: GLenum

module Graphics.GL.ARB.TextureBufferObjectRGB32

-- | Is the ARB_texture_buffer_object_rgb32 extension supported?
glGetARBTextureBufferObjectRGB32 :: MonadIO m => m Bool

-- | Is the ARB_texture_buffer_object_rgb32 extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBTextureBufferObjectRGB32 in those cases instead.
gl_ARB_texture_buffer_object_rgb32 :: Bool
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum

module Graphics.GL.ARB.TextureBorderClamp

-- | Is the ARB_texture_border_clamp extension supported?
glGetARBTextureBorderClamp :: MonadIO m => m Bool

-- | Is the ARB_texture_border_clamp extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureBorderClamp in those cases
--   instead.
gl_ARB_texture_border_clamp :: Bool
pattern GL_CLAMP_TO_BORDER_ARB :: GLenum

module Graphics.GL.ARB.StencilTexturing

-- | Is the ARB_stencil_texturing extension supported?
glGetARBStencilTexturing :: MonadIO m => m Bool

-- | Is the ARB_stencil_texturing extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBStencilTexturing in those cases
--   instead.
gl_ARB_stencil_texturing :: Bool
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum

module Graphics.GL.ARB.SpirvExtensions

-- | Is the ARB_spirv_extensions extension supported?
glGetARBSpirvExtensions :: MonadIO m => m Bool

-- | Is the ARB_spirv_extensions extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBSpirvExtensions in those cases
--   instead.
gl_ARB_spirv_extensions :: Bool
pattern GL_NUM_SPIR_V_EXTENSIONS :: GLenum
pattern GL_SPIR_V_EXTENSIONS :: GLenum

module Graphics.GL.ARB.ShadowAmbient

-- | Is the ARB_shadow_ambient extension supported?
glGetARBShadowAmbient :: MonadIO m => m Bool

-- | Is the ARB_shadow_ambient extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBShadowAmbient in those cases instead.
gl_ARB_shadow_ambient :: Bool
pattern GL_TEXTURE_COMPARE_FAIL_VALUE_ARB :: GLenum

module Graphics.GL.ARB.Shadow

-- | Is the ARB_shadow extension supported?
glGetARBShadow :: MonadIO m => m Bool

-- | Is the ARB_shadow extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBShadow in those cases instead.
gl_ARB_shadow :: Bool
pattern GL_COMPARE_R_TO_TEXTURE_ARB :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC_ARB :: GLenum
pattern GL_TEXTURE_COMPARE_MODE_ARB :: GLenum

module Graphics.GL.ARB.ShadingLanguage100

-- | Is the ARB_shading_language_100 extension supported?
glGetARBShadingLanguage100 :: MonadIO m => m Bool

-- | Is the ARB_shading_language_100 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBShadingLanguage100 in those cases
--   instead.
gl_ARB_shading_language_100 :: Bool
pattern GL_SHADING_LANGUAGE_VERSION_ARB :: GLenum

module Graphics.GL.ARB.SeamlessCubemapPerTexture

-- | Is the ARB_seamless_cubemap_per_texture extension supported?
glGetARBSeamlessCubemapPerTexture :: MonadIO m => m Bool

-- | Is the ARB_seamless_cubemap_per_texture extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBSeamlessCubemapPerTexture in those cases instead.
gl_ARB_seamless_cubemap_per_texture :: Bool
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum

module Graphics.GL.ARB.SeamlessCubeMap

-- | Is the ARB_seamless_cube_map extension supported?
glGetARBSeamlessCubeMap :: MonadIO m => m Bool

-- | Is the ARB_seamless_cube_map extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBSeamlessCubeMap in those cases
--   instead.
gl_ARB_seamless_cube_map :: Bool
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum

module Graphics.GL.ARB.QueryBufferObject

-- | Is the ARB_query_buffer_object extension supported?
glGetARBQueryBufferObject :: MonadIO m => m Bool

-- | Is the ARB_query_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBQueryBufferObject in those cases
--   instead.
gl_ARB_query_buffer_object :: Bool
pattern GL_QUERY_BUFFER :: GLenum
pattern GL_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_QUERY_BUFFER_BINDING :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT :: GLenum

module Graphics.GL.ARB.PointSprite

-- | Is the ARB_point_sprite extension supported?
glGetARBPointSprite :: MonadIO m => m Bool

-- | Is the ARB_point_sprite extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBPointSprite in those cases instead.
gl_ARB_point_sprite :: Bool
pattern GL_COORD_REPLACE_ARB :: GLenum
pattern GL_POINT_SPRITE_ARB :: GLenum

module Graphics.GL.ARB.PixelBufferObject

-- | Is the ARB_pixel_buffer_object extension supported?
glGetARBPixelBufferObject :: MonadIO m => m Bool

-- | Is the ARB_pixel_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBPixelBufferObject in those cases
--   instead.
gl_ARB_pixel_buffer_object :: Bool
pattern GL_PIXEL_PACK_BUFFER_ARB :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING_ARB :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_ARB :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING_ARB :: GLenum

module Graphics.GL.ARB.PipelineStatisticsQuery

-- | Is the ARB_pipeline_statistics_query extension supported?
glGetARBPipelineStatisticsQuery :: MonadIO m => m Bool

-- | Is the ARB_pipeline_statistics_query extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBPipelineStatisticsQuery in
--   those cases instead.
gl_ARB_pipeline_statistics_query :: Bool
pattern GL_CLIPPING_INPUT_PRIMITIVES_ARB :: GLenum
pattern GL_CLIPPING_OUTPUT_PRIMITIVES_ARB :: GLenum
pattern GL_COMPUTE_SHADER_INVOCATIONS_ARB :: GLenum
pattern GL_FRAGMENT_SHADER_INVOCATIONS_ARB :: GLenum
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB :: GLenum
pattern GL_PRIMITIVES_SUBMITTED_ARB :: GLenum
pattern GL_TESS_CONTROL_SHADER_PATCHES_ARB :: GLenum
pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB :: GLenum
pattern GL_VERTEX_SHADER_INVOCATIONS_ARB :: GLenum
pattern GL_VERTICES_SUBMITTED_ARB :: GLenum

module Graphics.GL.ARB.OcclusionQuery2

-- | Is the ARB_occlusion_query2 extension supported?
glGetARBOcclusionQuery2 :: MonadIO m => m Bool

-- | Is the ARB_occlusion_query2 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBOcclusionQuery2 in those cases
--   instead.
gl_ARB_occlusion_query2 :: Bool
pattern GL_ANY_SAMPLES_PASSED :: GLenum

module Graphics.GL.ARB.MapBufferAlignment

-- | Is the ARB_map_buffer_alignment extension supported?
glGetARBMapBufferAlignment :: MonadIO m => m Bool

-- | Is the ARB_map_buffer_alignment extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBMapBufferAlignment in those cases
--   instead.
gl_ARB_map_buffer_alignment :: Bool
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum

module Graphics.GL.ARB.GPUShader5

-- | Is the ARB_gpu_shader5 extension supported?
glGetARBGPUShader5 :: MonadIO m => m Bool

-- | Is the ARB_gpu_shader5 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBGPUShader5 in those cases instead.
gl_ARB_gpu_shader5 :: Bool
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum

module Graphics.GL.ARB.FramebufferSRGB

-- | Is the ARB_framebuffer_sRGB extension supported?
glGetARBFramebufferSRGB :: MonadIO m => m Bool

-- | Is the ARB_framebuffer_sRGB extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBFramebufferSRGB in those cases
--   instead.
gl_ARB_framebuffer_sRGB :: Bool
pattern GL_FRAMEBUFFER_SRGB :: GLenum

module Graphics.GL.ARB.FragmentShader

-- | Is the ARB_fragment_shader extension supported?
glGetARBFragmentShader :: MonadIO m => m Bool

-- | Is the ARB_fragment_shader extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBFragmentShader in those cases
--   instead.
gl_ARB_fragment_shader :: Bool
pattern GL_FRAGMENT_SHADER_ARB :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB :: GLenum

module Graphics.GL.ARB.ExplicitUniformLocation

-- | Is the ARB_explicit_uniform_location extension supported?
glGetARBExplicitUniformLocation :: MonadIO m => m Bool

-- | Is the ARB_explicit_uniform_location extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBExplicitUniformLocation in
--   those cases instead.
gl_ARB_explicit_uniform_location :: Bool
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum

module Graphics.GL.ARB.EnhancedLayouts

-- | Is the ARB_enhanced_layouts extension supported?
glGetARBEnhancedLayouts :: MonadIO m => m Bool

-- | Is the ARB_enhanced_layouts extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBEnhancedLayouts in those cases
--   instead.
gl_ARB_enhanced_layouts :: Bool
pattern GL_LOCATION_COMPONENT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum

module Graphics.GL.ARB.ES3Compatibility

-- | Is the ARB_ES3_compatibility extension supported?
glGetARBES3Compatibility :: MonadIO m => m Bool

-- | Is the ARB_ES3_compatibility extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBES3Compatibility in those cases
--   instead.
gl_ARB_ES3_compatibility :: Bool
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum

module Graphics.GL.ARB.DepthTexture

-- | Is the ARB_depth_texture extension supported?
glGetARBDepthTexture :: MonadIO m => m Bool

-- | Is the ARB_depth_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBDepthTexture in those cases instead.
gl_ARB_depth_texture :: Bool
pattern GL_DEPTH_COMPONENT16_ARB :: GLenum
pattern GL_DEPTH_COMPONENT24_ARB :: GLenum
pattern GL_DEPTH_COMPONENT32_ARB :: GLenum
pattern GL_DEPTH_TEXTURE_MODE_ARB :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE_ARB :: GLenum

module Graphics.GL.ARB.DepthClamp

-- | Is the ARB_depth_clamp extension supported?
glGetARBDepthClamp :: MonadIO m => m Bool

-- | Is the ARB_depth_clamp extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBDepthClamp in those cases instead.
gl_ARB_depth_clamp :: Bool
pattern GL_DEPTH_CLAMP :: GLenum

module Graphics.GL.ARB.DepthBufferFloat

-- | Is the ARB_depth_buffer_float extension supported?
glGetARBDepthBufferFloat :: MonadIO m => m Bool

-- | Is the ARB_depth_buffer_float extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBDepthBufferFloat in those cases
--   instead.
gl_ARB_depth_buffer_float :: Bool
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum

module Graphics.GL.ARB.CullDistance

-- | Is the ARB_cull_distance extension supported?
glGetARBCullDistance :: MonadIO m => m Bool

-- | Is the ARB_cull_distance extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBCullDistance in those cases instead.
gl_ARB_cull_distance :: Bool
pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
pattern GL_MAX_CULL_DISTANCES :: GLenum

module Graphics.GL.ARB.ConditionalRenderInverted

-- | Is the ARB_conditional_render_inverted extension supported?
glGetARBConditionalRenderInverted :: MonadIO m => m Bool

-- | Is the ARB_conditional_render_inverted extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBConditionalRenderInverted in those cases instead.
gl_ARB_conditional_render_inverted :: Bool
pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
pattern GL_QUERY_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_WAIT_INVERTED :: GLenum

module Graphics.GL.ARB.CompressedTexturePixelStorage

-- | Is the ARB_compressed_texture_pixel_storage extension
--   supported?
glGetARBCompressedTexturePixelStorage :: MonadIO m => m Bool

-- | Is the ARB_compressed_texture_pixel_storage extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   glGetARBCompressedTexturePixelStorage in those cases instead.
gl_ARB_compressed_texture_pixel_storage :: Bool
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum

module Graphics.GL.APPLE.YCbCr422

-- | Is the APPLE_ycbcr_422 extension supported?
glGetAPPLEYCbCr422 :: MonadIO m => m Bool

-- | Is the APPLE_ycbcr_422 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetAPPLEYCbCr422 in those cases instead.
gl_APPLE_ycbcr_422 :: Bool
pattern GL_UNSIGNED_SHORT_8_8_APPLE :: GLenum
pattern GL_UNSIGNED_SHORT_8_8_REV_APPLE :: GLenum
pattern GL_YCBCR_422_APPLE :: GLenum

module Graphics.GL.APPLE.TransformHint

-- | Is the APPLE_transform_hint extension supported?
glGetAPPLETransformHint :: MonadIO m => m Bool

-- | Is the APPLE_transform_hint extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLETransformHint in those cases
--   instead.
gl_APPLE_transform_hint :: Bool
pattern GL_TRANSFORM_HINT_APPLE :: GLenum

module Graphics.GL.APPLE.SpecularVector

-- | Is the APPLE_specular_vector extension supported?
glGetAPPLESpecularVector :: MonadIO m => m Bool

-- | Is the APPLE_specular_vector extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLESpecularVector in those cases
--   instead.
gl_APPLE_specular_vector :: Bool
pattern GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE :: GLenum

module Graphics.GL.APPLE.RowBytes

-- | Is the APPLE_row_bytes extension supported?
glGetAPPLERowBytes :: MonadIO m => m Bool

-- | Is the APPLE_row_bytes extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetAPPLERowBytes in those cases instead.
gl_APPLE_row_bytes :: Bool
pattern GL_PACK_ROW_BYTES_APPLE :: GLenum
pattern GL_UNPACK_ROW_BYTES_APPLE :: GLenum

module Graphics.GL.APPLE.RGB422

-- | Is the APPLE_rgb_422 extension supported?
glGetAPPLERGB422 :: MonadIO m => m Bool

-- | Is the APPLE_rgb_422 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetAPPLERGB422 in those cases instead.
gl_APPLE_rgb_422 :: Bool
pattern GL_RGB_422_APPLE :: GLenum
pattern GL_RGB_RAW_422_APPLE :: GLenum
pattern GL_UNSIGNED_SHORT_8_8_APPLE :: GLenum
pattern GL_UNSIGNED_SHORT_8_8_REV_APPLE :: GLenum

module Graphics.GL.APPLE.FloatPixels

-- | Is the APPLE_float_pixels extension supported?
glGetAPPLEFloatPixels :: MonadIO m => m Bool

-- | Is the APPLE_float_pixels extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetAPPLEFloatPixels in those cases instead.
gl_APPLE_float_pixels :: Bool
pattern GL_ALPHA_FLOAT16_APPLE :: GLenum
pattern GL_ALPHA_FLOAT32_APPLE :: GLenum
pattern GL_COLOR_FLOAT_APPLE :: GLenum
pattern GL_HALF_APPLE :: GLenum
pattern GL_INTENSITY_FLOAT16_APPLE :: GLenum
pattern GL_INTENSITY_FLOAT32_APPLE :: GLenum
pattern GL_LUMINANCE_ALPHA_FLOAT16_APPLE :: GLenum
pattern GL_LUMINANCE_ALPHA_FLOAT32_APPLE :: GLenum
pattern GL_LUMINANCE_FLOAT16_APPLE :: GLenum
pattern GL_LUMINANCE_FLOAT32_APPLE :: GLenum
pattern GL_RGBA_FLOAT16_APPLE :: GLenum
pattern GL_RGBA_FLOAT32_APPLE :: GLenum
pattern GL_RGB_FLOAT16_APPLE :: GLenum
pattern GL_RGB_FLOAT32_APPLE :: GLenum

module Graphics.GL.APPLE.ClientStorage

-- | Is the APPLE_client_storage extension supported?
glGetAPPLEClientStorage :: MonadIO m => m Bool

-- | Is the APPLE_client_storage extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLEClientStorage in those cases
--   instead.
gl_APPLE_client_storage :: Bool
pattern GL_UNPACK_CLIENT_STORAGE_APPLE :: GLenum

module Graphics.GL.APPLE.AuxDepthStencil

-- | Is the APPLE_aux_depth_stencil extension supported?
glGetAPPLEAuxDepthStencil :: MonadIO m => m Bool

-- | Is the APPLE_aux_depth_stencil extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLEAuxDepthStencil in those cases
--   instead.
gl_APPLE_aux_depth_stencil :: Bool
pattern GL_AUX_DEPTH_STENCIL_APPLE :: GLenum

module Graphics.GL.AMD.TransformFeedback4

-- | Is the AMD_transform_feedback4 extension supported?
glGetAMDTransformFeedback4 :: MonadIO m => m Bool

-- | Is the AMD_transform_feedback4 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDTransformFeedback4 in those cases
--   instead.
gl_AMD_transform_feedback4 :: Bool
pattern GL_STREAM_RASTERIZATION_AMD :: GLenum

module Graphics.GL.AMD.SeamlessCubemapPerTexture

-- | Is the AMD_seamless_cubemap_per_texture extension supported?
glGetAMDSeamlessCubemapPerTexture :: MonadIO m => m Bool

-- | Is the AMD_seamless_cubemap_per_texture extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetAMDSeamlessCubemapPerTexture in those cases instead.
gl_AMD_seamless_cubemap_per_texture :: Bool
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum

module Graphics.GL.AMD.QueryBufferObject

-- | Is the AMD_query_buffer_object extension supported?
glGetAMDQueryBufferObject :: MonadIO m => m Bool

-- | Is the AMD_query_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDQueryBufferObject in those cases
--   instead.
gl_AMD_query_buffer_object :: Bool
pattern GL_QUERY_BUFFER_AMD :: GLenum
pattern GL_QUERY_BUFFER_BINDING_AMD :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT_AMD :: GLenum

module Graphics.GL.AMD.PinnedMemory

-- | Is the AMD_pinned_memory extension supported?
glGetAMDPinnedMemory :: MonadIO m => m Bool

-- | Is the AMD_pinned_memory extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetAMDPinnedMemory in those cases instead.
gl_AMD_pinned_memory :: Bool
pattern GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD :: GLenum

module Graphics.GL.AMD.GPUShaderHalfFloat

-- | Is the AMD_gpu_shader_half_float extension supported?
glGetAMDGPUShaderHalfFloat :: MonadIO m => m Bool

-- | Is the AMD_gpu_shader_half_float extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDGPUShaderHalfFloat in those cases
--   instead.
gl_AMD_gpu_shader_half_float :: Bool
pattern GL_FLOAT16_MAT2_AMD :: GLenum
pattern GL_FLOAT16_MAT2x3_AMD :: GLenum
pattern GL_FLOAT16_MAT2x4_AMD :: GLenum
pattern GL_FLOAT16_MAT3_AMD :: GLenum
pattern GL_FLOAT16_MAT3x2_AMD :: GLenum
pattern GL_FLOAT16_MAT3x4_AMD :: GLenum
pattern GL_FLOAT16_MAT4_AMD :: GLenum
pattern GL_FLOAT16_MAT4x2_AMD :: GLenum
pattern GL_FLOAT16_MAT4x3_AMD :: GLenum
pattern GL_FLOAT16_NV :: GLenum
pattern GL_FLOAT16_VEC2_NV :: GLenum
pattern GL_FLOAT16_VEC3_NV :: GLenum
pattern GL_FLOAT16_VEC4_NV :: GLenum

module Graphics.GL.AMD.DepthClampSeparate

-- | Is the AMD_depth_clamp_separate extension supported?
glGetAMDDepthClampSeparate :: MonadIO m => m Bool

-- | Is the AMD_depth_clamp_separate extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDDepthClampSeparate in those cases
--   instead.
gl_AMD_depth_clamp_separate :: Bool
pattern GL_DEPTH_CLAMP_FAR_AMD :: GLenum
pattern GL_DEPTH_CLAMP_NEAR_AMD :: GLenum

module Graphics.GL.AMD.BlendMinmaxFactor

-- | Is the AMD_blend_minmax_factor extension supported?
glGetAMDBlendMinmaxFactor :: MonadIO m => m Bool

-- | Is the AMD_blend_minmax_factor extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDBlendMinmaxFactor in those cases
--   instead.
gl_AMD_blend_minmax_factor :: Bool
pattern GL_FACTOR_MAX_AMD :: GLenum
pattern GL_FACTOR_MIN_AMD :: GLenum

-- | All raw functions from the OpenGL registry.
module Graphics.GL.Functions
glBeginPerfMonitorAMD :: MonadIO m => GLuint -> m ()
glBindVertexArrayAPPLE :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()
glBindProgramARB :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | This command is an alias for glActiveTexture.
glActiveTextureARB :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glBeginQuery.
glBeginQueryARB :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glAttachShader.
glAttachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | This command is an alias for glBindBuffer.
glBindBufferARB :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glBindAttribLocation.
glBindAttribLocationARB :: MonadIO m => GLhandleARB -> GLuint -> Ptr GLcharARB -> m ()
glAlphaFragmentOp1ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glAlphaFragmentOp2ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glAlphaFragmentOp3ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glBeginFragmentShaderATI :: MonadIO m => m ()
glBindFragmentShaderATI :: MonadIO m => GLuint -> m ()
glArrayObjectATI :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()
glBindMultiTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glBindFramebufferEXT :: MonadIO m => GLenum -> GLuint -> m ()
glBindRenderbufferEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glBindFragDataLocation.
glBindFragDataLocationEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()
glApplyTextureEXT :: MonadIO m => GLenum -> m ()
glActiveProgramEXT :: MonadIO m => GLuint -> m ()
glBindImageTextureEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> m ()
glActiveStencilFaceEXT :: MonadIO m => GLenum -> m ()
glAreTexturesResidentEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | This command is an alias for glBindTexture.
glBindTextureEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glBeginTransformFeedback.
glBeginTransformFeedbackEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glBindBufferBase.
glBindBufferBaseEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glBindBufferOffsetEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> m ()

-- | This command is an alias for glBindBufferRange.
glBindBufferRangeEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | This command is an alias for glArrayElement.
glArrayElementEXT :: MonadIO m => GLint -> m ()
glBeginVertexShaderEXT :: MonadIO m => m ()
glBindLightParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindMaterialParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindParameterEXT :: MonadIO m => GLenum -> m GLuint
glBindTexGenParameterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> m GLuint
glBindTextureUnitParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glAcquireKeyedMutexWin32EXT :: MonadIO m => GLuint -> GLuint64 -> GLuint -> m GLboolean
glApplyFramebufferAttachmentCMAAINTEL :: MonadIO m => m ()
glBeginPerfQueryINTEL :: MonadIO m => GLuint -> m ()
glAlphaToCoverageDitherControlNV :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glBeginConditionalRender.
glBeginConditionalRenderNV :: MonadIO m => GLuint -> GLenum -> m ()
glBeginOcclusionQueryNV :: MonadIO m => GLuint -> m ()
glBindShadingRateImageNV :: MonadIO m => GLuint -> m ()
glActiveVaryingNV :: MonadIO m => GLuint -> Ptr GLchar -> m ()

-- | This command is an alias for glBeginTransformFeedback.
glBeginTransformFeedbackNV :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glBindBufferBase.
glBindBufferBaseNV :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | This command is an alias for glBindBufferOffsetEXT.
glBindBufferOffsetNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> m ()

-- | This command is an alias for glBindBufferRange.
glBindBufferRangeNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glBindTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()
glAreProgramsResidentNV :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | This command is an alias for glBindProgramARB.
glBindProgramNV :: MonadIO m => GLenum -> GLuint -> m ()
glBeginVideoCaptureNV :: MonadIO m => GLuint -> m ()
glBeginConditionalRenderNVX :: MonadIO m => GLuint -> m ()
glAsyncCopyBufferSubDataNVX :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLuint64 -> GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m GLuint
glAsyncCopyImageSubDataNVX :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLuint64 -> GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m GLuint
glAccumxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glAlphaFuncxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glAsyncMarkerSGIX :: MonadIO m => GLuint -> m ()
glActiveShaderProgramEXT :: MonadIO m => GLuint -> GLuint -> m ()
glAlphaFuncQCOM :: MonadIO m => GLenum -> GLclampf -> m ()
glAlphaFuncx :: MonadIO m => GLenum -> GLfixed -> m ()
glBeginQueryEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glBindFragDataLocationIndexed.
glBindFragDataLocationIndexedEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()
glBindFramebufferOES :: MonadIO m => GLenum -> GLuint -> m ()
glBindProgramPipelineEXT :: MonadIO m => GLuint -> m ()
glBindRenderbufferOES :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glBindVertexArray.
glBindVertexArrayOES :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glBlendEquationi.
glBlendEquationIndexedAMD :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glBlendEquationSeparatei.
glBlendEquationSeparateIndexedAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFunci.
glBlendFuncIndexedAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFuncSeparatei.
glBlendFuncSeparateIndexedAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glBufferParameteriAPPLE :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glClampColor.
glClampColorARB :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | This command is an alias for glBlendEquationSeparatei.
glBlendEquationSeparateiARB :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendEquationi.
glBlendEquationiARB :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glBlendFuncSeparatei.
glBlendFuncSeparateiARB :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFunci.
glBlendFunciARB :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()
glBufferPageCommitmentARB :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> m ()

-- | This command is an alias for glBufferData.
glBufferDataARB :: MonadIO m => GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> m ()

-- | This command is an alias for glBufferSubData.
glBufferSubDataARB :: MonadIO m => GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendColor.
glBlendColorEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glBlendEquationSeparate.
glBlendEquationSeparateEXT :: MonadIO m => GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFuncSeparate.
glBlendFuncSeparateEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendEquation.
glBlendEquationEXT :: MonadIO m => GLenum -> m ()

-- | The vector equivalent of this command is glBinormal3bvEXT.
glBinormal3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glBinormal3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glBinormal3dvEXT.
glBinormal3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glBinormal3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glBinormal3fvEXT.
glBinormal3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glBinormal3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glBinormal3ivEXT.
glBinormal3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()
glBinormal3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glBinormal3svEXT.
glBinormal3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glBinormal3svEXT :: MonadIO m => Ptr GLshort -> m ()
glBinormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glCheckNamedFramebufferStatusEXT :: MonadIO m => GLuint -> GLenum -> m GLenum
glBufferStorageExternalEXT :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> m ()

-- | This command is an alias for glBlitFramebuffer.
glBlitFramebufferEXT :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | This command is an alias for glCheckFramebufferStatus.
glCheckFramebufferStatusEXT :: MonadIO m => GLenum -> m GLenum
glBufferStorageMemEXT :: MonadIO m => GLenum -> GLsizeiptr -> GLuint -> GLuint64 -> m ()
glClearColorIiEXT :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glClearColorIuiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()
glBindVertexShaderEXT :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glBlendFuncSeparate.
glBlendFuncSeparateINGR :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendBarrier.
glBlendBarrierKHR :: MonadIO m => m ()

-- | This command is an alias for glBlendBarrier.
glBlendBarrierNV :: MonadIO m => m ()
glBlendParameteriNV :: MonadIO m => GLenum -> GLint -> m ()
glCallCommandListNV :: MonadIO m => GLuint -> m ()
glClearDepthdNV :: MonadIO m => GLdouble -> m ()
glBufferAttachMemoryNV :: MonadIO m => GLenum -> GLuint -> GLuint64 -> m ()
glBufferAddressRangeNV :: MonadIO m => GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> m ()
glBindVideoCaptureStreamBufferNV :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptrARB -> m ()
glBindVideoCaptureStreamTextureNV :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> m ()
glBitmapxOES :: MonadIO m => GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> m ()
glBlendColorxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glClearAccumxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glClearColorxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()

-- | This command is an alias for glClearDepthf.
glClearDepthfOES :: MonadIO m => GLclampf -> m ()
glBlendBarrier :: MonadIO m => m ()
glBlendEquationOES :: MonadIO m => GLenum -> m ()
glBlendEquationSeparateOES :: MonadIO m => GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendEquationSeparatei.
glBlendEquationSeparateiEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendEquationSeparatei.
glBlendEquationSeparateiOES :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendEquationi.
glBlendEquationiEXT :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glBlendEquationi.
glBlendEquationiOES :: MonadIO m => GLuint -> GLenum -> m ()
glBlendFuncSeparateOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFuncSeparatei.
glBlendFuncSeparateiEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFuncSeparatei.
glBlendFuncSeparateiOES :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFunci.
glBlendFunciEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFunci.
glBlendFunciOES :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()
glBlitFramebufferANGLE :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | This command is an alias for glBlitFramebuffer.
glBlitFramebufferNV :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | This command is an alias for glBufferStorage.
glBufferStorageEXT :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()
glCheckFramebufferStatusOES :: MonadIO m => GLenum -> m GLenum
glClearColorx :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glClearDepthx :: MonadIO m => GLfixed -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorSubTable :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glClientActiveTexture.
glClientActiveTextureARB :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorFragmentOp1ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glColorFragmentOp2ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glColorFragmentOp3ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glClientActiveVertexStreamATI :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glClearNamedBufferDataEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()
glClearNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()
glClientAttribDefaultEXT :: MonadIO m => GLbitfield -> m ()

-- | This command is an alias for glColorMaski.
glColorMaskIndexedEXT :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glColorPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glColorPointervINTEL :: MonadIO m => GLint -> GLenum -> Ptr (Ptr a) -> m ()

-- | The vector equivalent of this command is glColor3hvNV.
glColor3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glColor3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glColor4hvNV.
glColor4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glColor4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glColorFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glClientWaitSemaphoreui64NVX :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()
glClearDepthxOES :: MonadIO m => GLfixed -> m ()
glClipPlanexOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glColor3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glColor3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glColor4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glColor4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glColor3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glColor3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()
glColor4fNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glColor4fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glColor4ubVertex2fSUN :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> m ()
glColor4ubVertex2fvSUN :: MonadIO m => Ptr GLubyte -> Ptr GLfloat -> m ()
glColor4ubVertex3fSUN :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
glColor4ubVertex3fvSUN :: MonadIO m => Ptr GLubyte -> Ptr GLfloat -> m ()
glClearPixelLocalStorageuiEXT :: MonadIO m => GLsizei -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glClearTexImage.
glClearTexImageEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glClearTexSubImage.
glClearTexSubImageEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glClientWaitSync.
glClientWaitSyncAPPLE :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | This command is an alias for glClipControl.
glClipControlEXT :: MonadIO m => GLenum -> GLenum -> m ()
glClipPlanef :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glClipPlanefIMG :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glClipPlanex :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glClipPlanexIMG :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glColor4x :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()

-- | This command is an alias for glColorMaski.
glColorMaskiEXT :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | This command is an alias for glColorMaski.
glColorMaskiOES :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glColorTable :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glColorTableParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColorTableParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionFilter1D :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionFilter2D :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glCopyColorSubTable :: MonadIO m => GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glCopyColorTable :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glCopyConvolutionFilter1D :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glCopyConvolutionFilter2D :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glCompileShader.
glCompileShaderARB :: MonadIO m => GLhandleARB -> m ()
glCompileShaderIncludeARB :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | This command is an alias for glCompressedTexImage1D.
glCompressedTexImage1DARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexImage2D.
glCompressedTexImage2DARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexImage3D.
glCompressedTexImage3DARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexSubImage1D.
glCompressedTexSubImage1DARB :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexSubImage2D.
glCompressedTexSubImage2DARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexSubImage3D.
glCompressedTexSubImage3DARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glColorSubTable.
glColorSubTableEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glCopyColorSubTable.
glCopyColorSubTableEXT :: MonadIO m => GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> m ()

-- | This command is an alias for glConvolutionFilter1D.
glConvolutionFilter1DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glConvolutionFilter2D.
glConvolutionFilter2DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glConvolutionParameterf.
glConvolutionParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | This command is an alias for glConvolutionParameterfv.
glConvolutionParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glConvolutionParameteri.
glConvolutionParameteriEXT :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | This command is an alias for glConvolutionParameteriv.
glConvolutionParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glCopyConvolutionFilter1D.
glCopyConvolutionFilter1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()

-- | This command is an alias for glCopyConvolutionFilter2D.
glCopyConvolutionFilter2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glCopyTexImage1D.
glCopyTexImage1DEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | This command is an alias for glCopyTexImage2D.
glCopyTexImage2DEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | This command is an alias for glCopyTexSubImage1D.
glCopyTexSubImage1DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | This command is an alias for glCopyTexSubImage2D.
glCopyTexSubImage2DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glCopyTexSubImage3D.
glCopyTexSubImage3DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCompressedMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedTextureImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCopyMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
glCopyMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
glCopyMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
glCopyMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
glCopyTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | This command is an alias for glColorTable.
glColorTableEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glCommandListSegmentsNV :: MonadIO m => GLuint -> GLuint -> m ()
glCompileCommandListNV :: MonadIO m => GLuint -> m ()
glConservativeRasterParameterfNV :: MonadIO m => GLenum -> GLfloat -> m ()
glConservativeRasterParameteriNV :: MonadIO m => GLenum -> GLint -> m ()
glCopyImageSubDataNV :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glCopyPathNV :: MonadIO m => GLuint -> GLuint -> m ()
glCombinerInputNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glCombinerOutputNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> m ()
glCombinerParameterfNV :: MonadIO m => GLenum -> GLfloat -> m ()
glCombinerParameterfvNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glCombinerParameteriNV :: MonadIO m => GLenum -> GLint -> m ()
glCombinerParameterivNV :: MonadIO m => GLenum -> Ptr GLint -> m ()
glCombinerStageParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glConvolutionParameterxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glConvolutionParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

-- | This command is an alias for glColorTableParameterfv.
glColorTableParameterfvSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glColorTableParameteriv.
glColorTableParameterivSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glColorTable.
glColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glCopyColorTable.
glCopyColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()
glCompressedTexImage3DOES :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedTexSubImage3DOES :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCopyBufferSubData.
glCopyBufferSubDataNV :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | This command is an alias for glCopyImageSubData.
glCopyImageSubDataEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glCopyImageSubData.
glCopyImageSubDataOES :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glCopyTexSubImage3DOES :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glDebugMessageCallbackAMD :: MonadIO m => GLDEBUGPROCAMD -> Ptr a -> m ()
glDebugMessageEnableAMD :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()
glDebugMessageInsertAMD :: MonadIO m => GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
glDeleteNamesAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glDeletePerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFencesAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glDeleteVertexArrays.
glDeleteVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateSyncFromCLeventARB :: MonadIO m => Ptr a -> Ptr b -> GLbitfield -> m GLsync

-- | This command is an alias for glDebugMessageCallback.
glDebugMessageCallbackARB :: MonadIO m => GLDEBUGPROCARB -> Ptr a -> m ()

-- | This command is an alias for glDebugMessageControl.
glDebugMessageControlARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | This command is an alias for glDebugMessageInsert.
glDebugMessageInsertARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCurrentPaletteMatrixARB :: MonadIO m => GLint -> m ()

-- | This command is an alias for glDeleteQueries.
glDeleteQueriesARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glCreateProgram.
glCreateProgramObjectARB :: MonadIO m => m GLhandleARB

-- | This command is an alias for glCreateShader.
glCreateShaderObjectARB :: MonadIO m => GLenum -> m GLhandleARB
glDeleteObjectARB :: MonadIO m => GLhandleARB -> m ()
glDeleteNamedStringARB :: MonadIO m => GLint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glDeleteBuffers.
glDeleteBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFragmentShaderATI :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()
glCullParameterdvEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glCullParameterfvEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glCopyTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
glCopyTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glDeleteFramebuffers.
glDeleteFramebuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glDeleteRenderbuffers.
glDeleteRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateMemoryObjectsEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteMemoryObjectsEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteSemaphoresEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateShaderProgramEXT :: MonadIO m => GLenum -> Ptr GLchar -> m GLuint
glDeleteTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreatePerfQueryINTEL :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glDeletePerfQueryINTEL :: MonadIO m => GLuint -> m ()
glCreateCommandListsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateStatesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteCommandListsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteStatesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCoverageModulationNV :: MonadIO m => GLenum -> m ()
glCoverageModulationTableNV :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()
glDeleteOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCoverFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glCoverFillPathNV :: MonadIO m => GLuint -> GLenum -> m ()
glCoverStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glCoverStrokePathNV :: MonadIO m => GLuint -> GLenum -> m ()
glDeletePathsNV :: MonadIO m => GLuint -> GLsizei -> m ()
glDeleteQueryResourceTagNV :: MonadIO m => GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glDeleteTransformFeedbacks.
glDeleteTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glDeleteProgramsARB.
glDeleteProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateProgressFenceNVX :: MonadIO m => m GLuint
glDeleteAsyncMarkersSGIX :: MonadIO m => GLuint -> GLsizei -> m ()
glDeformSGIX :: MonadIO m => GLbitfield -> m ()
glDeformationMap3dSGIX :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
glDeformationMap3fSGIX :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glCopyTextureLevelsAPPLE :: MonadIO m => GLuint -> GLuint -> GLint -> GLsizei -> m ()
glCoverageMaskNV :: MonadIO m => GLboolean -> m ()
glCoverageOperationNV :: MonadIO m => GLenum -> m ()
glCreateShaderProgramvEXT :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
glCurrentPaletteMatrixOES :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glDebugMessageCallback.
glDebugMessageCallbackKHR :: MonadIO m => GLDEBUGPROCKHR -> Ptr a -> m ()

-- | This command is an alias for glDebugMessageControl.
glDebugMessageControlKHR :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | This command is an alias for glDebugMessageInsert.
glDebugMessageInsertKHR :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()
glDeleteFramebuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteProgramPipelinesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteQueriesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteRenderbuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glDeleteSync.
glDeleteSyncAPPLE :: MonadIO m => GLsync -> m ()
glDrawElementArrayAPPLE :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glDrawRangeElementArrayAPPLE :: MonadIO m => GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> m ()
glDisableVertexAttribAPPLE :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()
glDispatchComputeGroupSizeARB :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for glDrawBuffers.
glDrawBuffersARB :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glDrawArraysInstanced.
glDrawArraysInstancedARB :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glDrawElementsInstanced.
glDrawElementsInstancedARB :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | This command is an alias for glDetachShader.
glDetachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()

-- | This command is an alias for glDisableVertexAttribArray.
glDisableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glDrawBuffers.
glDrawBuffersATI :: MonadIO m => GLsizei -> Ptr GLenum -> m ()
glDrawElementArrayATI :: MonadIO m => GLenum -> GLsizei -> m ()
glDrawRangeElementArrayATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()
glDepthBoundsEXT :: MonadIO m => GLclampd -> GLclampd -> m ()
glDisableClientStateIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableClientStateiEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glDisablei.
glDisableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableVertexArrayAttribEXT :: MonadIO m => GLuint -> GLuint -> m ()
glDisableVertexArrayEXT :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glDrawArraysInstanced.
glDrawArraysInstancedEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glDrawElementsInstanced.
glDrawElementsInstancedEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | This command is an alias for glDrawRangeElements.
glDrawRangeElementsEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glDrawArrays.
glDrawArraysEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glDeleteVertexShaderEXT :: MonadIO m => GLuint -> m ()
glDisableVariantClientStateEXT :: MonadIO m => GLuint -> m ()
glDrawCommandsAddressNV :: MonadIO m => GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> m ()
glDrawCommandsNV :: MonadIO m => GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> m ()
glDrawCommandsStatesAddressNV :: MonadIO m => Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> m ()
glDrawCommandsStatesNV :: MonadIO m => GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> m ()
glDepthBoundsdNV :: MonadIO m => GLdouble -> GLdouble -> m ()
glDepthRangedNV :: MonadIO m => GLdouble -> GLdouble -> m ()
glDrawTextureNV :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glDrawMeshTasksIndirectNV :: MonadIO m => GLintptr -> m ()
glDrawMeshTasksNV :: MonadIO m => GLuint -> GLuint -> m ()
glDepthRangexOES :: MonadIO m => GLfixed -> GLfixed -> m ()

-- | This command is an alias for glDepthRangef.
glDepthRangefOES :: MonadIO m => GLclampf -> GLclampf -> m ()
glDetailTexFuncSGIS :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glDrawMeshArraysSUN :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glDeleteVertexArrays.
glDeleteVertexArraysOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDepthRangeArrayfvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glDepthRangeArrayfvOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glDepthRangeIndexedfNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glDepthRangeIndexedfOES :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glDepthRangex :: MonadIO m => GLfixed -> GLfixed -> m ()
glDisableDriverControlQCOM :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glDisablei.
glDisableiEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glDisablei.
glDisableiNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glDisablei.
glDisableiOES :: MonadIO m => GLenum -> GLuint -> m ()
glDiscardFramebufferEXT :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | This command is an alias for glDrawArraysInstanced.
glDrawArraysInstancedANGLE :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glDrawArraysInstancedBaseInstance.
glDrawArraysInstancedBaseInstanceEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | This command is an alias for glDrawArraysInstanced.
glDrawArraysInstancedNV :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glDrawBuffers.
glDrawBuffersEXT :: MonadIO m => GLsizei -> Ptr GLenum -> m ()
glDrawBuffersIndexedEXT :: MonadIO m => GLint -> Ptr GLenum -> Ptr GLint -> m ()
glDrawBuffersNV :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | This command is an alias for glDrawElementsBaseVertex.
glDrawElementsBaseVertexEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | This command is an alias for glDrawElementsBaseVertex.
glDrawElementsBaseVertexOES :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | This command is an alias for glDrawElementsInstanced.
glDrawElementsInstancedANGLE :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | This command is an alias for
--   glDrawElementsInstancedBaseInstance.
glDrawElementsInstancedBaseInstanceEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | This command is an alias for
--   glDrawElementsInstancedBaseVertexBaseInstance.
glDrawElementsInstancedBaseVertexBaseInstanceEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | This command is an alias for glDrawElementsInstancedBaseVertex.
glDrawElementsInstancedBaseVertexEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | This command is an alias for glDrawElementsInstancedBaseVertex.
glDrawElementsInstancedBaseVertexOES :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | This command is an alias for glDrawElementsInstanced.
glDrawElementsInstancedNV :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | This command is an alias for glDrawRangeElementsBaseVertex.
glDrawRangeElementsBaseVertexEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | This command is an alias for glDrawRangeElementsBaseVertex.
glDrawRangeElementsBaseVertexOES :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | The vector equivalent of this command is glDrawTexfvOES.
glDrawTexfOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glDrawTexfvOES :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glDrawTexivOES.
glDrawTexiOES :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glDrawTexivOES :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glDrawTexsvOES.
glDrawTexsOES :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glDrawTexsvOES :: MonadIO m => Ptr GLshort -> m ()
glEndPerfMonitorAMD :: MonadIO m => GLuint -> m ()
glElementPointerAPPLE :: MonadIO m => GLenum -> Ptr a -> m ()
glFinishFenceAPPLE :: MonadIO m => GLuint -> m ()
glFinishObjectAPPLE :: MonadIO m => GLenum -> GLint -> m ()
glEnableVertexAttribAPPLE :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for glEndQuery.
glEndQueryARB :: MonadIO m => GLenum -> m ()
glEvaluateDepthValuesARB :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | This command is an alias for glEnableVertexAttribArray.
glEnableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()
glElementPointerATI :: MonadIO m => GLenum -> Ptr a -> m ()
glEndFragmentShaderATI :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()
glEnableClientStateIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableClientStateiEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glEnablei.
glEnableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableVertexArrayAttribEXT :: MonadIO m => GLuint -> GLuint -> m ()
glEnableVertexArrayEXT :: MonadIO m => GLuint -> GLenum -> m ()
glEGLImageTargetTexStorageEXT :: MonadIO m => GLenum -> GLeglImageOES -> Ptr GLint -> m ()
glEGLImageTargetTextureStorageEXT :: MonadIO m => GLuint -> GLeglImageOES -> Ptr GLint -> m ()

-- | This command is an alias for glEndTransformFeedback.
glEndTransformFeedbackEXT :: MonadIO m => m ()
glEdgeFlagPointerEXT :: MonadIO m => GLsizei -> GLsizei -> Ptr GLboolean -> m ()
glEnableVariantClientStateEXT :: MonadIO m => GLuint -> m ()
glEndVertexShaderEXT :: MonadIO m => m ()
glExtractComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glEdgeFlagPointerListIBM :: MonadIO m => GLint -> Ptr (Ptr GLboolean) -> GLint -> m ()
glEndPerfQueryINTEL :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glEndConditionalRender.
glEndConditionalRenderNV :: MonadIO m => m ()
glDrawVkImageNV :: MonadIO m => GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glEvalMapsNV :: MonadIO m => GLenum -> GLenum -> m ()
glFinishFenceNV :: MonadIO m => GLuint -> m ()
glEndOcclusionQueryNV :: MonadIO m => m ()
glFinalCombinerInputNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | This command is an alias for glEndTransformFeedback.
glEndTransformFeedbackNV :: MonadIO m => m ()

-- | This command is an alias for glDrawTransformFeedback.
glDrawTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()
glEdgeFlagFormatNV :: MonadIO m => GLsizei -> m ()
glExecuteProgramNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glEndVideoCaptureNV :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glEndConditionalRender.
glEndConditionalRenderNVX :: MonadIO m => m ()
glEvalCoord1xOES :: MonadIO m => GLfixed -> m ()
glEvalCoord1xvOES :: MonadIO m => Ptr GLfixed -> m ()
glEvalCoord2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glEvalCoord2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glFeedbackBufferxOES :: MonadIO m => GLsizei -> GLenum -> Ptr GLfixed -> m ()
glFinishAsyncSGIX :: MonadIO m => Ptr GLuint -> m GLint

-- | The vector equivalent of this command is glDrawTexxvOES.
glDrawTexxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glDrawTexxvOES :: MonadIO m => Ptr GLfixed -> m ()

-- | This command is an alias for glDrawTransformFeedback.
glDrawTransformFeedbackEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glDrawTransformFeedbackInstanced.
glDrawTransformFeedbackInstancedEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()
glEGLImageTargetRenderbufferStorageOES :: MonadIO m => GLenum -> GLeglImageOES -> m ()
glEGLImageTargetTexture2DOES :: MonadIO m => GLenum -> GLeglImageOES -> m ()
glEnableDriverControlQCOM :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glEnablei.
glEnableiEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glEnablei.
glEnableiNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glEnablei.
glEnableiOES :: MonadIO m => GLenum -> GLuint -> m ()
glEndQueryEXT :: MonadIO m => GLenum -> m ()
glEndTilingQCOM :: MonadIO m => GLbitfield -> m ()
glExtGetBufferPointervQCOM :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()
glExtGetBuffersQCOM :: MonadIO m => Ptr GLuint -> GLint -> Ptr GLint -> m ()
glExtGetFramebuffersQCOM :: MonadIO m => Ptr GLuint -> GLint -> Ptr GLint -> m ()
glExtGetProgramBinarySourceQCOM :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> m ()
glExtGetProgramsQCOM :: MonadIO m => Ptr GLuint -> GLint -> Ptr GLint -> m ()
glExtGetRenderbuffersQCOM :: MonadIO m => Ptr GLuint -> GLint -> Ptr GLint -> m ()
glExtGetShadersQCOM :: MonadIO m => Ptr GLuint -> GLint -> Ptr GLint -> m ()
glExtGetTexLevelParameterivQCOM :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glExtGetTexSubImageQCOM :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glExtGetTexturesQCOM :: MonadIO m => Ptr GLuint -> GLint -> Ptr GLint -> m ()
glExtIsProgramBinaryQCOM :: MonadIO m => GLuint -> m GLboolean
glExtTexObjectStateOverrideiQCOM :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | This command is an alias for glFenceSync.
glFenceSyncAPPLE :: MonadIO m => GLenum -> GLbitfield -> m GLsync
glFramebufferSamplePositionsfvAMD :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glFlushMappedBufferRange.
glFlushMappedBufferRangeAPPLE :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()
glFlushVertexArrayRangeAPPLE :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for glFramebufferTexture.
glFramebufferTextureARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTextureFaceARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()

-- | This command is an alias for glFramebufferTextureLayer.
glFramebufferTextureLayerARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()
glFramebufferSampleLocationsfvARB :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glGenBuffers.
glGenBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glFreeObjectBufferATI :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFlushMappedNamedBufferRangeEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()
glFramebufferDrawBufferEXT :: MonadIO m => GLuint -> GLenum -> m ()
glFramebufferDrawBuffersEXT :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()
glFramebufferReadBufferEXT :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glFogCoordPointer.
glFogCoordPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is glFogCoorddvEXT. This
--   command is an alias for glFogCoordd.
glFogCoorddEXT :: MonadIO m => GLdouble -> m ()

-- | This command is an alias for glFogCoorddv.
glFogCoorddvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glFogCoordfvEXT. This
--   command is an alias for glFogCoordf.
glFogCoordfEXT :: MonadIO m => GLfloat -> m ()

-- | This command is an alias for glFogCoordfv.
glFogCoordfvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for glFramebufferRenderbuffer.
glFramebufferRenderbufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | This command is an alias for glFramebufferTexture1D.
glFramebufferTexture1DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for glFramebufferTexture2D.
glFramebufferTexture2DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for glFramebufferTexture3D.
glFramebufferTexture3DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferFetchBarrierEXT :: MonadIO m => m ()

-- | This command is an alias for glFramebufferTextureLayer.
glFramebufferTextureLayerEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFrameTerminatorGREMEDY :: MonadIO m => m ()
glFlushStaticDataIBM :: MonadIO m => GLenum -> m ()
glFogCoordPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glFramebufferParameteriMESA :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glFragmentCoverageColorNV :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glFramebufferTexture.
glFramebufferTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for glFramebufferTextureFaceARB.
glFramebufferTextureFaceEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()

-- | The vector equivalent of this command is glFogCoordhvNV.
glFogCoordhNV :: MonadIO m => GLhalfNV -> m ()
glFogCoordhvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glFlushPixelDataRangeNV :: MonadIO m => GLenum -> m ()
glFramebufferSampleLocationsfvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glFlushVertexArrayRangeNV :: MonadIO m => m ()
glFogCoordFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glFogxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glFogxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glFrustumxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glFrustumfOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glFramebufferTextureMultiviewOVR :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> m ()
glFogFuncSGIS :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()
glGenAsyncMarkersSGIX :: MonadIO m => GLsizei -> m GLuint
glFlushRasterSGIX :: MonadIO m => m ()
glFragmentColorMaterialSGIX :: MonadIO m => GLenum -> GLenum -> m ()
glFragmentLightModelfSGIX :: MonadIO m => GLenum -> GLfloat -> m ()
glFragmentLightModelfvSGIX :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glFragmentLightModeliSGIX :: MonadIO m => GLenum -> GLint -> m ()
glFragmentLightModelivSGIX :: MonadIO m => GLenum -> Ptr GLint -> m ()
glFragmentLightfSGIX :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glFragmentLightfvSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glFragmentLightiSGIX :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glFragmentLightivSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glFragmentMaterialfSGIX :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glFragmentMaterialfvSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glFragmentMaterialiSGIX :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glFragmentMaterialivSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glFrameZoomSGIX :: MonadIO m => GLint -> m ()
glFinishTextureSUNX :: MonadIO m => m ()

-- | This command is an alias for glFlushMappedBufferRange.
glFlushMappedBufferRangeEXT :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()
glFogx :: MonadIO m => GLenum -> GLfixed -> m ()
glFogxv :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glFramebufferFetchBarrierQCOM :: MonadIO m => m ()
glFramebufferFoveationConfigQCOM :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> Ptr GLuint -> m ()
glFramebufferFoveationParametersQCOM :: MonadIO m => GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glFramebufferPixelLocalStorageSizeEXT :: MonadIO m => GLuint -> GLsizei -> m ()
glFramebufferRenderbufferOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glFramebufferTexture2DDownsampleIMG :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> m ()
glFramebufferTexture2DMultisampleEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> m ()
glFramebufferTexture2DMultisampleIMG :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> m ()
glFramebufferTexture2DOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTexture3DOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferTextureLayerDownsampleIMG :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glFramebufferTextureMultisampleMultiviewOVR :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> m ()

-- | This command is an alias for glFramebufferTexture.
glFramebufferTextureOES :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFrustumf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glFrustumx :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glGenNamesAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGenPerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFencesAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenVertexArrays.
glGenVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()
glGenProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetColorTableParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetColorTableParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetConvolutionFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetConvolutionParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glGenQueries.
glGenQueriesARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetActiveUniform.
glGetActiveUniformARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()
glGetAttachedObjectsARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetCompressedTexImage.
glGetCompressedTexImageARB :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGetBufferParameteriv.
glGetBufferParameterivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetBufferPointerv.
glGetBufferPointervARB :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetBufferSubData.
glGetBufferSubDataARB :: MonadIO m => GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> m ()

-- | This command is an alias for glGetActiveAttrib.
glGetActiveAttribARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()

-- | This command is an alias for glGetAttribLocation.
glGetAttribLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint
glGenFragmentShadersATI :: MonadIO m => GLuint -> m GLuint
glGetArrayObjectfvATI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetArrayObjectivATI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()
glGetConvolutionFilterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()
glGetConvolutionParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGenerateMultiTexMipmapEXT :: MonadIO m => GLenum -> GLenum -> m ()
glGenerateTextureMipmapEXT :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glGetBooleani_v.
glGetBooleanIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()
glGetCompressedMultiTexImageEXT :: MonadIO m => GLenum -> GLenum -> GLint -> Ptr a -> m ()
glGetCompressedTextureImageEXT :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr a -> m ()

-- | This command is an alias for glGenFramebuffers.
glGenFramebuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenRenderbuffers.
glGenRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenerateMipmap.
glGenerateMipmapEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glGetColorTable.
glGetColorTableEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glGetColorTableParameterfv.
glGetColorTableParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetColorTableParameteriv.
glGetColorTableParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGenSemaphoresEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenSymbolsEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m GLuint
glGenVertexShadersEXT :: MonadIO m => GLuint -> m GLuint
glGetCommandHeaderNV :: MonadIO m => GLenum -> GLuint -> m GLuint
glGenFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenPathsNV :: MonadIO m => GLsizei -> m GLuint
glGenQueryResourceTagNV :: MonadIO m => GLsizei -> Ptr GLint -> m ()
glGetCombinerInputParameterfvNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetCombinerInputParameterivNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetCombinerOutputParameterfvNV :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetCombinerOutputParameterivNV :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetCombinerStageParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetBufferParameterui64vNV :: MonadIO m => GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
glGetActiveVaryingNV :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | This command is an alias for glGenTransformFeedbacks.
glGenTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenProgramsARB.
glGenProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetClipPlanexOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glGetClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetColorTableParameterfvSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetColorTableParameterivSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()
glGenFramebuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramPipelinesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenQueriesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenRenderbuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenVertexArrays.
glGenVertexArraysOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenerateMipmapOES :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glGetBufferPointerv.
glGetBufferPointervOES :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()
glGetClipPlanef :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetClipPlanex :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glGetDebugMessageLogAMD :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> m GLuint
glGetFramebufferParameterfvAMD :: MonadIO m => GLenum -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glGetImageHandleARB :: MonadIO m => GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | This command is an alias for glGetDebugMessageLog.
glGetDebugMessageLogARB :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetConvolutionParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetHistogram :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetHistogramParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetHistogramParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()
glGetGraphicsResetStatusARB :: MonadIO m => m GLenum
glGetHandleARB :: MonadIO m => GLenum -> m GLhandleARB
glGetInfoLogARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetGraphicsResetStatus :: MonadIO m => m GLenum
glGetConvolutionParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetDoublei_v.
glGetDoubleIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetDoublei_v.
glGetDoublei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetFloati_v.
glGetFloatIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetFloati_v.
glGetFloati_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetFramebufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetIntegeri_v.
glGetIntegerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | This command is an alias for
--   glGetFramebufferAttachmentParameteriv.
glGetFramebufferAttachmentParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetFragDataLocation.
glGetFragDataLocationEXT :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
glGetHistogramEXT :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
glGetHistogramParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetHistogramParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetInvariantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetInvariantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetInvariantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetLocalConstantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetLocalConstantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetLocalConstantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetImageTransformParameterfvHP :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetImageTransformParameterivHP :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFirstPerfQueryIdINTEL :: MonadIO m => Ptr GLuint -> m ()
glGetFramebufferParameterivMESA :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetImageHandleNV :: MonadIO m => GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
glGetMapAttribParameterfvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetMapAttribParameterivNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetMapControlPointsNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> m ()
glGetMapParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMapParameterivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFenceivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetCoverageModulationTableNV :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()
glGetInternalformatSampleivNV :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetFinalCombinerInputParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetFinalCombinerInputParameterivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetIntegerui64vNV :: MonadIO m => GLenum -> Ptr GLuint64EXT -> m ()
glGetIntegerui64i_vNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint64EXT -> m ()
glGetConvolutionParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetFixedvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glGetHistogramParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetLightxOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetMapxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetDetailTexFuncSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetFogFuncSGIS :: MonadIO m => Ptr GLfloat -> m ()
glGetFragmentLightfvSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetFragmentLightivSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFragmentMaterialfvSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetFragmentMaterialivSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetInstrumentsSGIX :: MonadIO m => m GLint
glGetListParameterfvSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetListParameterivSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetDebugMessageLog.
glGetDebugMessageLogKHR :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint
glGetDriverControlStringQCOM :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetDriverControlsQCOM :: MonadIO m => Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
glGetFixedv :: MonadIO m => GLenum -> Ptr GLfixed -> m ()

-- | This command is an alias for glGetFloati_v.
glGetFloati_vNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetFloati_v.
glGetFloati_vOES :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetFragDataIndex.
glGetFragDataIndexEXT :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
glGetFramebufferAttachmentParameterivOES :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferPixelLocalStorageSizeEXT :: MonadIO m => GLuint -> m GLsizei

-- | This command is an alias for glGetGraphicsResetStatus.
glGetGraphicsResetStatusEXT :: MonadIO m => m GLenum

-- | This command is an alias for glGetGraphicsResetStatus.
glGetGraphicsResetStatusKHR :: MonadIO m => m GLenum

-- | This command is an alias for glGetInteger64v.
glGetInteger64vAPPLE :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | This command is an alias for glGetInteger64v.
glGetInteger64vEXT :: MonadIO m => GLenum -> Ptr GLint64 -> m ()
glGetIntegeri_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetLightxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetLightxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetNamedFramebufferParameterfvAMD :: MonadIO m => GLuint -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glGetPerfMonitorCounterDataAMD :: MonadIO m => GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> m ()
glGetPerfMonitorCounterInfoAMD :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr a -> m ()
glGetPerfMonitorCounterStringAMD :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetPerfMonitorCountersAMD :: MonadIO m => GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
glGetPerfMonitorGroupStringAMD :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetPerfMonitorGroupsAMD :: MonadIO m => Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
glGetObjectParameterivAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetMinmax :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetMinmaxParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMinmaxParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetObjectParameterfvARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLfloat -> m ()
glGetObjectParameterivARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLint -> m ()
glGetNamedStringARB :: MonadIO m => GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> m ()
glGetNamedStringivARB :: MonadIO m => GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetObjectBufferfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetObjectBufferivATI :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetObjectLabelEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetMultiTexEnvfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexEnvivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexGendvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetMultiTexGenfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexGenivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexImageEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glGetMultiTexLevelParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexLevelParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glGetMultiTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLuint -> m ()
glGetMultiTexParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()
glGetNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glGetNamedFramebufferAttachmentParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedFramebufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedProgramLocalParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()
glGetNamedProgramLocalParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLuint -> m ()
glGetNamedProgramLocalParameterdvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetNamedProgramLocalParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetNamedProgramStringEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr a -> m ()
glGetNamedProgramivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedRenderbufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetPointerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr (Ptr a) -> m ()
glGetPointeri_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr (Ptr a) -> m ()
glGetMinmaxEXT :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
glGetMinmaxParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMinmaxParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetMemoryObjectParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetPixelTransformParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetPixelTransformParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetPointerv.
glGetPointervEXT :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()
glGetNextPerfQueryIdINTEL :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glGetPerfCounterInfoINTEL :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> m ()
glGetPerfQueryDataINTEL :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> m ()
glGetPerfQueryIdByNameINTEL :: MonadIO m => Ptr GLchar -> Ptr GLuint -> m ()
glGetPerfQueryInfoINTEL :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glGetMultisamplefv.
glGetMultisamplefvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetMemoryObjectDetachedResourcesuivNV :: MonadIO m => GLuint -> GLenum -> GLint -> GLsizei -> Ptr GLuint -> m ()
glGetOcclusionQueryivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetOcclusionQueryuivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetPathColorGenfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetPathColorGenivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetPathCommandsNV :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glGetPathCoordsNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glGetPathDashArrayNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glGetPathLengthNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> m GLfloat
glGetPathMetricRangeNV :: MonadIO m => GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glGetPathMetricsNV :: MonadIO m => GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glGetPathParameterfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetPathParameterivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetPathSpacingNV :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> m ()
glGetPathTexGenfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetPathTexGenivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferParameterui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glGetMaterialxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glGetPixelMapxv :: MonadIO m => GLenum -> GLint -> Ptr GLfixed -> m ()
glGetPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()
glGetMaterialxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetMaterialxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

-- | This command is an alias for glGetObjectLabel.
glGetObjectLabelKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for glGetObjectPtrLabel.
glGetObjectPtrLabelKHR :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for glGetPointerv.
glGetPointervKHR :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetProgramBinary.
glGetProgramBinaryOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()
glGetQueryBufferObjecti64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectui64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectuiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()
glGetProgramEnvParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramEnvParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramLocalParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramLocalParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramStringARB :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()
glGetProgramivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetSeparableFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> m ()

-- | This command is an alias for glGetQueryObjectiv.
glGetQueryObjectivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetQueryObjectuiv.
glGetQueryObjectuivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for glGetQueryiv.
glGetQueryivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetShaderSource.
glGetShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetTexBumpParameterfvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetTexBumpParameterivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glGetSeparableFilterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> m ()

-- | This command is an alias for glGetRenderbufferParameteriv.
glGetRenderbufferParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetSemaphoreParameterui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | This command is an alias for glGetTexParameterIiv.
glGetTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetQueryObjecti64v.
glGetQueryObjecti64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | This command is an alias for glGetQueryObjectui64v.
glGetQueryObjectui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()
glGetStageIndexNV :: MonadIO m => GLenum -> m GLushort
glGetProgramNamedParameterdvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> m ()
glGetProgramNamedParameterfvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> m ()
glGetProgramEnvParameterIivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetProgramEnvParameterIuivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGetProgramLocalParameterIivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetProgramLocalParameterIuivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGetProgramSubroutineParameteruivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGetProgramResourcefvNV :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> m ()
glGetShadingRateImagePaletteNV :: MonadIO m => GLuint -> GLuint -> Ptr GLenum -> m ()
glGetShadingRateSampleLocationivNV :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLint -> m ()
glGetProgramParameterdvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetProgramParameterfvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetProgramStringNV :: MonadIO m => GLuint -> GLenum -> Ptr GLubyte -> m ()
glGetProgramivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetTexEnvxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexGenxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexLevelParameterxvOES :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfixed -> m ()
glGetSharpenTexFuncSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetTexFilterFuncSGIS :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetProgramPipelineInfoLogEXT :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramPipelineivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetProgramResourceLocationIndexEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | This command is an alias for glGetQueryObjectiv.
glGetQueryObjectivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetQueryObjectuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetQueryivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetRenderbufferParameterivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetSamplerParameterIiv.
glGetSamplerParameterIivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetSamplerParameterIiv.
glGetSamplerParameterIivOES :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetSamplerParameterIuiv.
glGetSamplerParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for glGetSamplerParameterIuiv.
glGetSamplerParameterIuivOES :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for glGetSynciv.
glGetSyncivAPPLE :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
glGetTexEnvxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexGenfvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexGenivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetTexParameterIiv.
glGetTexParameterIivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetUniformi64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLint64EXT -> m ()
glGetUniformui64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLuint64EXT -> m ()
glGetTexParameterPointervAPPLE :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()
glGetTextureHandleARB :: MonadIO m => GLuint -> m GLuint64
glGetTextureSamplerHandleARB :: MonadIO m => GLuint -> GLuint -> m GLuint64
glGetVertexAttribLui64vARB :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()
glGetUniformi64vARB :: MonadIO m => GLuint -> GLint -> Ptr GLint64 -> m ()
glGetUniformui64vARB :: MonadIO m => GLuint -> GLint -> Ptr GLuint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glGetUniformLocation.
glGetUniformLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint

-- | This command is an alias for glGetUniformfv.
glGetUniformfvARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetUniformiv.
glGetUniformivARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetVertexAttribPointerv.
glGetVertexAttribPointervARB :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetVertexAttribdv.
glGetVertexAttribdvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetVertexAttribfv.
glGetVertexAttribfvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetVertexAttribiv.
glGetVertexAttribivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVariantArrayObjectfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVariantArrayObjectivATI :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexAttribArrayObjectfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVertexAttribArrayObjectivATI :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetUniformBufferSizeEXT :: MonadIO m => GLuint -> GLint -> m GLint
glGetUniformOffsetEXT :: MonadIO m => GLuint -> GLint -> m GLintptr
glGetTextureImageEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glGetTextureLevelParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetTextureLevelParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glGetTextureParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetTextureParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLuint -> m ()
glGetTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTextureParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayIntegeri_vEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayPointeri_vEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> m ()
glGetVertexArrayPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetUniformuiv.
glGetUniformuivEXT :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()
glGetUnsignedBytei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLubyte -> m ()
glGetUnsignedBytevEXT :: MonadIO m => GLenum -> Ptr GLubyte -> m ()

-- | This command is an alias for glGetTexParameterIuiv.
glGetTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for glGetTransformFeedbackVarying.
glGetTransformFeedbackVaryingEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | This command is an alias for glGetVertexAttribLdv.
glGetVertexAttribLdvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVariantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetVariantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVariantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVariantPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()
glGetTextureHandleNV :: MonadIO m => GLuint -> m GLuint64
glGetTextureSamplerHandleNV :: MonadIO m => GLuint -> GLuint -> m GLuint64
glGetVideoi64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint64EXT -> m ()
glGetVideoivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVideoui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glGetTransformFeedbackVaryingNV :: MonadIO m => GLuint -> GLuint -> Ptr GLint -> m ()
glGetVaryingLocationNV :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
glGetVertexAttribLi64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint64EXT -> m ()
glGetVertexAttribLui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glGetTrackMatrixivNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetVertexAttribPointerv.
glGetVertexAttribPointervNV :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetVertexAttribdv.
glGetVertexAttribdvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetVertexAttribfv.
glGetVertexAttribfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetVertexAttribiv.
glGetVertexAttribivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetVertexAttribIiv.
glGetVertexAttribIivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetVertexAttribIuiv.
glGetVertexAttribIuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetVideoCaptureStreamdvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVideoCaptureStreamfvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVideoCaptureStreamivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetVideoCaptureivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetTexParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

-- | This command is an alias for glGetTexParameterIuiv.
glGetTexParameterIuivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glGetTexParameterxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

-- | This command is an alias for glGetTextureHandleARB.
glGetTextureHandleIMG :: MonadIO m => GLuint -> m GLuint64

-- | This command is an alias for glGetTextureSamplerHandleARB.
glGetTextureSamplerHandleIMG :: MonadIO m => GLuint -> GLuint -> m GLuint64
glGetTranslatedShaderSourceANGLE :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glGetnUniformi64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glGetnUniformui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | Manual page for OpenGL 2.x.
glHistogram :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glGetnColorTableARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnCompressedTexImageARB :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()
glGetnConvolutionFilterARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnHistogramARB :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnMapdvARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
glGetnMapfvARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnMapivARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetnMinmaxARB :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnPixelMapfvARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnPixelMapuivARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glGetnPixelMapusvARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glGetnPolygonStippleARB :: MonadIO m => GLsizei -> Ptr GLubyte -> m ()
glGetnSeparableFilterARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> m ()
glGetnTexImageARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnUniformdvARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glGetnUniformfvARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glGetnUniformivARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glGetnUniformuivARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glGetnColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnCompressedTexImage :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()
glGetnConvolutionFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnHistogram :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnMapdv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
glGetnMapfv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnMapiv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetnMinmax :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glGetnPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glGetnPolygonStipple :: MonadIO m => GLsizei -> Ptr GLubyte -> m ()
glGetnSeparableFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> m ()

-- | Manual page for OpenGL 4.x.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glInsertEventMarkerEXT :: MonadIO m => GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for glHistogram.
glHistogramEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLboolean -> m ()
glIndexFuncEXT :: MonadIO m => GLenum -> GLclampf -> m ()
glIndexMaterialEXT :: MonadIO m => GLenum -> GLenum -> m ()
glImportMemoryFdEXT :: MonadIO m => GLuint -> GLuint64 -> GLenum -> GLint -> m ()
glImportMemoryWin32HandleEXT :: MonadIO m => GLuint -> GLuint64 -> GLenum -> Ptr a -> m ()
glImportMemoryWin32NameEXT :: MonadIO m => GLuint -> GLuint64 -> GLenum -> Ptr a -> m ()
glImportSemaphoreFdEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glImportSemaphoreWin32HandleEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glImportSemaphoreWin32NameEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glIndexPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glInsertComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glImportSyncEXT :: MonadIO m => GLenum -> GLintptr -> GLbitfield -> m GLsync
glImageTransformParameterfHP :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glImageTransformParameterfvHP :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glImageTransformParameteriHP :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glImageTransformParameterivHP :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glIndexPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glGetVkProcAddrNV :: MonadIO m => Ptr GLchar -> m GLVULKANPROCNV
glInterpolatePathsNV :: MonadIO m => GLuint -> GLuint -> GLuint -> GLfloat -> m ()
glGetVideouivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glIndexFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glIndexxOES :: MonadIO m => GLfixed -> m ()
glIndexxvOES :: MonadIO m => Ptr GLfixed -> m ()
glHintPGI :: MonadIO m => GLenum -> GLint -> m ()
glIglooInterfaceSGIX :: MonadIO m => GLenum -> Ptr a -> m ()
glInstrumentsBufferSGIX :: MonadIO m => GLsizei -> Ptr GLint -> m ()
glGlobalAlphaFactorbSUN :: MonadIO m => GLbyte -> m ()
glGlobalAlphaFactordSUN :: MonadIO m => GLdouble -> m ()
glGlobalAlphaFactorfSUN :: MonadIO m => GLfloat -> m ()
glGlobalAlphaFactoriSUN :: MonadIO m => GLint -> m ()
glGlobalAlphaFactorsSUN :: MonadIO m => GLshort -> m ()
glGlobalAlphaFactorubSUN :: MonadIO m => GLubyte -> m ()
glGlobalAlphaFactoruiSUN :: MonadIO m => GLuint -> m ()
glGlobalAlphaFactorusSUN :: MonadIO m => GLushort -> m ()

-- | This command is an alias for glGetnUniformfv.
glGetnUniformfvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetnUniformfv.
glGetnUniformfvKHR :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetnUniformiv.
glGetnUniformivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glGetnUniformiv.
glGetnUniformivKHR :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glGetnUniformuiv.
glGetnUniformuivKHR :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glIsNameAMD :: MonadIO m => GLenum -> GLuint -> m GLboolean
glIsFenceAPPLE :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glIsVertexArray.
glIsVertexArrayAPPLE :: MonadIO m => GLuint -> m GLboolean
glIsVertexAttribEnabledAPPLE :: MonadIO m => GLuint -> GLenum -> m GLboolean
glIsImageHandleResidentARB :: MonadIO m => GLuint64 -> m GLboolean
glIsTextureHandleResidentARB :: MonadIO m => GLuint64 -> m GLboolean
glIsProgramARB :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glIsQuery.
glIsQueryARB :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glLinkProgram.
glLinkProgramARB :: MonadIO m => GLhandleARB -> m ()
glIsNamedStringARB :: MonadIO m => GLint -> Ptr GLchar -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glIsBuffer.
glIsBufferARB :: MonadIO m => GLuint -> m GLboolean
glIsObjectBufferATI :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()
glLabelObjectEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for glIsEnabledi.
glIsEnabledIndexedEXT :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | This command is an alias for glIsFramebuffer.
glIsFramebufferEXT :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glIsRenderbuffer.
glIsRenderbufferEXT :: MonadIO m => GLuint -> m GLboolean
glIsMemoryObjectEXT :: MonadIO m => GLuint -> m GLboolean
glIsSemaphoreEXT :: MonadIO m => GLuint -> m GLboolean
glIsTextureEXT :: MonadIO m => GLuint -> m GLboolean
glIsVariantEnabledEXT :: MonadIO m => GLuint -> GLenum -> m GLboolean
glIsImageHandleResidentNV :: MonadIO m => GLuint64 -> m GLboolean
glIsTextureHandleResidentNV :: MonadIO m => GLuint64 -> m GLboolean
glIsCommandListNV :: MonadIO m => GLuint -> m GLboolean
glIsStateNV :: MonadIO m => GLuint -> m GLboolean
glListDrawCommandsStatesClientNV :: MonadIO m => GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> m ()
glIsFenceNV :: MonadIO m => GLuint -> m GLboolean
glIsOcclusionQueryNV :: MonadIO m => GLuint -> m GLboolean
glIsPathNV :: MonadIO m => GLuint -> m GLboolean
glIsPointInFillPathNV :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> m GLboolean
glIsPointInStrokePathNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m GLboolean
glIsBufferResidentNV :: MonadIO m => GLenum -> m GLboolean
glIsNamedBufferResidentNV :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glIsTransformFeedback.
glIsTransformFeedbackNV :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glIsProgramARB.
glIsProgramNV :: MonadIO m => GLuint -> m GLboolean
glLoadProgramNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> m ()
glLGPUCopyImageSubDataNVX :: MonadIO m => GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glLGPUInterlockNVX :: MonadIO m => m ()
glLGPUNamedBufferSubDataNVX :: MonadIO m => GLbitfield -> GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glLightModelxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glLightModelxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glLightxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glLightxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glLineWidthxOES :: MonadIO m => GLfixed -> m ()
glLoadMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glIsAsyncMarkerSGIX :: MonadIO m => GLuint -> m GLboolean
glLightEnviSGIX :: MonadIO m => GLenum -> GLint -> m ()
glListParameterfSGIX :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()
glListParameterfvSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glListParameteriSGIX :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glListParameterivSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glLoadIdentityDeformationMapSGIX :: MonadIO m => GLbitfield -> m ()

-- | This command is an alias for glIsEnabledi.
glIsEnablediEXT :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | This command is an alias for glIsEnabledi.
glIsEnablediNV :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | This command is an alias for glIsEnabledi.
glIsEnablediOES :: MonadIO m => GLenum -> GLuint -> m GLboolean
glIsFramebufferOES :: MonadIO m => GLuint -> m GLboolean
glIsProgramPipelineEXT :: MonadIO m => GLuint -> m GLboolean
glIsQueryEXT :: MonadIO m => GLuint -> m GLboolean
glIsRenderbufferOES :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glIsSync.
glIsSyncAPPLE :: MonadIO m => GLsync -> m GLboolean

-- | This command is an alias for glIsVertexArray.
glIsVertexArrayOES :: MonadIO m => GLuint -> m GLboolean
glLightModelx :: MonadIO m => GLenum -> GLfixed -> m ()
glLightModelxv :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glLightx :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glLightxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glLineWidthx :: MonadIO m => GLfixed -> m ()
glLoadMatrixx :: MonadIO m => Ptr GLfixed -> m ()
glLoadPaletteFromModelViewMatrixOES :: MonadIO m => m ()
glMapVertexAttrib1dAPPLE :: MonadIO m => GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
glMapVertexAttrib1fAPPLE :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glMapVertexAttrib2dAPPLE :: MonadIO m => GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
glMapVertexAttrib2fAPPLE :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glMakeImageHandleNonResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeImageHandleResidentARB :: MonadIO m => GLuint64 -> GLenum -> m ()
glMakeTextureHandleNonResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleResidentARB :: MonadIO m => GLuint64 -> m ()

-- | Manual page for OpenGL 4.x.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glMinmax :: MonadIO m => GLenum -> GLenum -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)
glMatrixIndexPointerARB :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glMatrixIndexubvARB :: MonadIO m => GLint -> Ptr GLubyte -> m ()
glMatrixIndexuivARB :: MonadIO m => GLint -> Ptr GLuint -> m ()
glMatrixIndexusvARB :: MonadIO m => GLint -> Ptr GLushort -> m ()

-- | This command is an alias for glMaxShaderCompilerThreadsKHR.
glMaxShaderCompilerThreadsARB :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glMinSampleShading.
glMinSampleShadingARB :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | This command is an alias for glLoadTransposeMatrixd.
glLoadTransposeMatrixdARB :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for glLoadTransposeMatrixf.
glLoadTransposeMatrixfARB :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for glMapBuffer.
glMapBufferARB :: MonadIO m => GLenum -> GLenum -> m (Ptr a)
glMapObjectBufferATI :: MonadIO m => GLuint -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()
glLockArraysEXT :: MonadIO m => GLint -> GLsizei -> m ()
glMapNamedBufferEXT :: MonadIO m => GLuint -> GLenum -> m (Ptr a)
glMapNamedBufferRangeEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)
glMatrixFrustumEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixLoadIdentityEXT :: MonadIO m => GLenum -> m ()
glMatrixLoadTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoaddEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultdEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixOrthoEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixPopEXT :: MonadIO m => GLenum -> m ()
glMatrixPushEXT :: MonadIO m => GLenum -> m ()
glMatrixRotatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixRotatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixScaledEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixScalefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixTranslatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixTranslatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glMinmax.
glMinmaxEXT :: MonadIO m => GLenum -> GLenum -> GLboolean -> m ()
glMemoryObjectParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glMemoryBarrier.
glMemoryBarrierEXT :: MonadIO m => GLbitfield -> m ()
glMapTexture2DINTEL :: MonadIO m => GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> m (Ptr a)
glMaxShaderCompilerThreadsKHR :: MonadIO m => GLuint -> m ()
glMakeImageHandleNonResidentNV :: MonadIO m => GLuint64 -> m ()
glMakeImageHandleResidentNV :: MonadIO m => GLuint64 -> GLenum -> m ()
glMakeTextureHandleNonResidentNV :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleResidentNV :: MonadIO m => GLuint64 -> m ()
glMapControlPointsNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> m ()
glMapParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glMapParameterivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glMatrixLoad3x2fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoad3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoadTranspose3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMult3x2fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMult3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultTranspose3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMakeBufferNonResidentNV :: MonadIO m => GLenum -> m ()
glMakeBufferResidentNV :: MonadIO m => GLenum -> GLenum -> m ()
glMakeNamedBufferNonResidentNV :: MonadIO m => GLuint -> m ()
glMakeNamedBufferResidentNV :: MonadIO m => GLuint -> GLenum -> m ()
glLoadTransposeMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glMap1xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
glMap2xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
glMapGrid1xOES :: MonadIO m => GLint -> GLfixed -> GLfixed -> m ()
glMapGrid2xOES :: MonadIO m => GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glMaterialxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glMaterialxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

-- | This command is an alias for glMapBuffer.
glMapBufferOES :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | This command is an alias for glMapBufferRange.
glMapBufferRangeEXT :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)
glMaterialx :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glMaterialxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glMatrixIndexPointerOES :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glMinSampleShading.
glMinSampleShadingOES :: MonadIO m => GLfloat -> m ()

-- | This command is an alias for glMultiDrawArraysIndirect.
glMultiDrawArraysIndirectAMD :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glMultiDrawElementsIndirect.
glMultiDrawElementsIndirectAMD :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawElementArrayAPPLE :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
glMultiDrawRangeElementArrayAPPLE :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glMultiDrawArraysIndirectCount.
glMultiDrawArraysIndirectCountARB :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glMultiDrawElementsIndirectCount.
glMultiDrawElementsIndirectCountARB :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1dv.
--   This command is an alias for glMultiTexCoord1d.
glMultiTexCoord1dARB :: MonadIO m => GLenum -> GLdouble -> m ()

-- | This command is an alias for glMultiTexCoord1dv.
glMultiTexCoord1dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1fv.
--   This command is an alias for glMultiTexCoord1f.
glMultiTexCoord1fARB :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for glMultiTexCoord1fv.
glMultiTexCoord1fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1iv.
--   This command is an alias for glMultiTexCoord1i.
glMultiTexCoord1iARB :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for glMultiTexCoord1iv.
glMultiTexCoord1ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1sv.
--   This command is an alias for glMultiTexCoord1s.
glMultiTexCoord1sARB :: MonadIO m => GLenum -> GLshort -> m ()

-- | This command is an alias for glMultiTexCoord1sv.
glMultiTexCoord1svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2dv.
--   This command is an alias for glMultiTexCoord2d.
glMultiTexCoord2dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glMultiTexCoord2dv.
glMultiTexCoord2dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2fv.
--   This command is an alias for glMultiTexCoord2f.
glMultiTexCoord2fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glMultiTexCoord2fv.
glMultiTexCoord2fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2iv.
--   This command is an alias for glMultiTexCoord2i.
glMultiTexCoord2iARB :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | This command is an alias for glMultiTexCoord2iv.
glMultiTexCoord2ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2sv.
--   This command is an alias for glMultiTexCoord2s.
glMultiTexCoord2sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | This command is an alias for glMultiTexCoord2sv.
glMultiTexCoord2svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3dv.
--   This command is an alias for glMultiTexCoord3d.
glMultiTexCoord3dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glMultiTexCoord3dv.
glMultiTexCoord3dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3fv.
--   This command is an alias for glMultiTexCoord3f.
glMultiTexCoord3fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glMultiTexCoord3fv.
glMultiTexCoord3fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3iv.
--   This command is an alias for glMultiTexCoord3i.
glMultiTexCoord3iARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glMultiTexCoord3iv.
glMultiTexCoord3ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3sv.
--   This command is an alias for glMultiTexCoord3s.
glMultiTexCoord3sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glMultiTexCoord3sv.
glMultiTexCoord3svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | This command is an alias for glMultTransposeMatrixd.
glMultTransposeMatrixdARB :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for glMultTransposeMatrixf.
glMultTransposeMatrixfARB :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiDrawArraysIndirectCount :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()
glMultiDrawElementsIndirectCount :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()
glMultiTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | This command is an alias for glMultiDrawArrays.
glMultiDrawArraysEXT :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | This command is an alias for glMultiDrawElements.
glMultiDrawElementsEXT :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()
glMultiModeDrawArraysIBM :: MonadIO m => Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> m ()
glMultiModeDrawElementsIBM :: MonadIO m => Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> m ()
glMultiDrawArraysIndirectBindlessNV :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawElementsIndirectBindlessNV :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawArraysIndirectBindlessCountNV :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawElementsIndirectBindlessCountNV :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1hvNV.
glMultiTexCoord1hNV :: MonadIO m => GLenum -> GLhalfNV -> m ()
glMultiTexCoord1hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2hvNV.
glMultiTexCoord2hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord2hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3hvNV.
glMultiTexCoord3hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord3hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()
glMultiDrawMeshTasksIndirectCountNV :: MonadIO m => GLintptr -> GLintptr -> GLsizei -> GLsizei -> m ()
glMultiDrawMeshTasksIndirectNV :: MonadIO m => GLintptr -> GLsizei -> GLsizei -> m ()
glMultiTexCoord1bOES :: MonadIO m => GLenum -> GLbyte -> m ()
glMultiTexCoord1bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glMultiTexCoord2bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> m ()
glMultiTexCoord2bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glMultiTexCoord3bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> GLbyte -> m ()
glMultiTexCoord3bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glMultMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glMultTransposeMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glMultiTexCoord1xOES :: MonadIO m => GLenum -> GLfixed -> m ()
glMultiTexCoord1xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord2xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> m ()
glMultiTexCoord2xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord3xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLfixed -> m ()
glMultMatrixx :: MonadIO m => Ptr GLfixed -> m ()

-- | This command is an alias for glMultiDrawArraysIndirect.
glMultiDrawArraysIndirectEXT :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glMultiDrawElementsBaseVertex.
glMultiDrawElementsBaseVertexEXT :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glMultiDrawElementsIndirect.
glMultiDrawElementsIndirectEXT :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glNamedFramebufferSamplePositionsfvAMD :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4dv.
--   This command is an alias for glMultiTexCoord4d.
glMultiTexCoord4dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glMultiTexCoord4dv.
glMultiTexCoord4dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4fv.
--   This command is an alias for glMultiTexCoord4f.
glMultiTexCoord4fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glMultiTexCoord4fv.
glMultiTexCoord4fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4iv.
--   This command is an alias for glMultiTexCoord4i.
glMultiTexCoord4iARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glMultiTexCoord4iv.
glMultiTexCoord4ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4sv.
--   This command is an alias for glMultiTexCoord4s.
glMultiTexCoord4sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glMultiTexCoord4sv.
glMultiTexCoord4svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glNamedFramebufferSampleLocationsfvARB :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedBufferPageCommitmentARB :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
glNamedBufferPageCommitmentEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordPointerEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is glMultiTexEnvfvEXT.
glMultiTexEnvfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexEnvfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexEnvivEXT.
glMultiTexEnviEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexEnvivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexGendvEXT.
glMultiTexGendEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLdouble -> m ()
glMultiTexGendvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexGenfvEXT.
glMultiTexGenfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexGenfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexGenivEXT.
glMultiTexGeniEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexGenivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glMultiTexParameterfvEXT.
glMultiTexParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glMultiTexParameterivEXT.
glMultiTexParameteriEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexRenderbufferEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glNamedBufferDataEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | This command is an alias for glNamedBufferStorage.
glNamedBufferStorageEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | This command is an alias for glNamedBufferSubData.
glNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glNamedCopyBufferSubDataEXT :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
glNamedFramebufferParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glNamedFramebufferRenderbufferEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glNamedFramebufferTexture1DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTexture2DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTexture3DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glNamedFramebufferTextureEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTextureFaceEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLenum -> m ()
glNamedFramebufferTextureLayerEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()
glNamedBufferStorageExternalEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> m ()
glNamedBufferStorageMemEXT :: MonadIO m => GLuint -> GLsizeiptr -> GLuint -> GLuint64 -> m ()
glMulticastBarrierNV :: MonadIO m => m ()
glMulticastBlitFramebufferNV :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
glMulticastBufferSubDataNV :: MonadIO m => GLbitfield -> GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glMulticastCopyBufferSubDataNV :: MonadIO m => GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
glMulticastCopyImageSubDataNV :: MonadIO m => GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glMulticastFramebufferSampleLocationsfvNV :: MonadIO m => GLuint -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glMulticastGetQueryObjecti64vNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()
glMulticastGetQueryObjectivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glMulticastGetQueryObjectui64vNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLuint64 -> m ()
glMulticastGetQueryObjectuivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLuint -> m ()
glMulticastWaitSyncNV :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4hvNV.
glMultiTexCoord4hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord4hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()
glNamedBufferAttachMemoryNV :: MonadIO m => GLuint -> GLuint -> GLuint64 -> m ()
glNamedFramebufferSampleLocationsfvNV :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glMulticastScissorArrayvNVX :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLint -> m ()
glMulticastViewportArrayvNVX :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glMulticastViewportPositionWScaleNVX :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> m ()
glMultiTexCoord4bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glMultiTexCoord4bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glMultiTexCoord3xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord4xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glMultiTexCoord4xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord4x :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glNamedRenderbufferStorageMultisampleAdvancedAMD :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glObjectPurgeableAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> m GLenum
glObjectUnpurgeableAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> m GLenum

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedStringARB :: MonadIO m => GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glPassTexCoordATI :: MonadIO m => GLuint -> GLuint -> GLenum -> m ()
glPNTrianglesfATI :: MonadIO m => GLenum -> GLfloat -> m ()
glPNTrianglesiATI :: MonadIO m => GLenum -> GLint -> m ()
glNewObjectBufferATI :: MonadIO m => GLsizei -> Ptr a -> GLenum -> m GLuint
glNormalStream3bATI :: MonadIO m => GLenum -> GLbyte -> GLbyte -> GLbyte -> m ()
glNormalStream3bvATI :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glNormalStream3dATI :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glNormalStream3dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glNormalStream3fATI :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glNormalStream3fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glNormalStream3iATI :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()
glNormalStream3ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glNormalStream3sATI :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()
glNormalStream3svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | The vector equivalent of this command is
--   glNamedProgramLocalParameter4dvEXT.
glNamedProgramLocalParameter4dEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glNamedProgramLocalParameter4dvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glNamedProgramLocalParameter4fvEXT.
glNamedProgramLocalParameter4fEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glNamedProgramLocalParameter4fvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glNamedProgramLocalParameterI4ivEXT.
glNamedProgramLocalParameterI4iEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glNamedProgramLocalParameterI4ivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glNamedProgramLocalParameterI4uivEXT.
glNamedProgramLocalParameterI4uiEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glNamedProgramLocalParameterI4uivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLuint -> m ()
glNamedProgramLocalParameters4fvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedProgramLocalParametersI4ivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
glNamedProgramLocalParametersI4uivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
glNamedProgramStringEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glNamedRenderbufferStorageEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleCoverageEXT :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glNormalPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glNormalPointervINTEL :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | The vector equivalent of this command is glNormal3hvNV.
glNormal3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glNormal3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glPathColorGenNV :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glPathCommandsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> m ()
glPathCoordsNV :: MonadIO m => GLuint -> GLsizei -> GLenum -> Ptr a -> m ()
glPathCoverDepthFuncNV :: MonadIO m => GLenum -> m ()
glPathDashArrayNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glPathFogGenNV :: MonadIO m => GLenum -> m ()
glPathGlyphIndexArrayNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
glPathGlyphIndexRangeNV :: MonadIO m => GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> m GLenum
glPathGlyphRangeNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> m ()
glPathGlyphsNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> m ()
glPathMemoryGlyphIndexArrayNV :: MonadIO m => GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
glPathParameterfNV :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()
glPathParameterfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glPathParameteriNV :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glPathParameterivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glPathStencilDepthOffsetNV :: MonadIO m => GLfloat -> GLfloat -> m ()
glPathStencilFuncNV :: MonadIO m => GLenum -> GLint -> GLuint -> m ()
glPathStringNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> Ptr a -> m ()
glPathSubCommandsNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> m ()
glPathSubCoordsNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> m ()
glPathTexGenNV :: MonadIO m => GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
glPixelDataRangeNV :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glPauseTransformFeedback.
glPauseTransformFeedbackNV :: MonadIO m => m ()
glNormalFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glNormal3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glNormal3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glOrthoxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glPassThroughxOES :: MonadIO m => GLfixed -> m ()
glOrthofOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()
glNormal3x :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()

-- | This command is an alias for glObjectLabel.
glObjectLabelKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for glObjectPtrLabel.
glObjectPtrLabelKHR :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()
glOrthof :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glOrthox :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()

-- | This command is an alias for glPatchParameteri.
glPatchParameteriEXT :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for glPatchParameteri.
glPatchParameteriOES :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for glPrimitiveBoundingBox.
glPrimitiveBoundingBoxARB :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is
--   glProgramEnvParameter4dvARB.
glProgramEnvParameter4dARB :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramEnvParameter4dvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramEnvParameter4fvARB.
glProgramEnvParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramEnvParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameter4dvARB.
glProgramLocalParameter4dARB :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramLocalParameter4dvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameter4fvARB.
glProgramLocalParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramLocalParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | This command is an alias for glPointParameterf.
glPointParameterfARB :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for glPointParameterfv.
glPointParameterfvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPolygonOffsetClamp :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()
glPopGroupMarkerEXT :: MonadIO m => m ()
glProgramEnvParameters4fvEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramLocalParameters4fvEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glPixelTransformParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glPixelTransformParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glPixelTransformParameteriEXT :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glPixelTransformParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glPointParameterf.
glPointParameterfEXT :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for glPointParameterfv.
glPointParameterfvEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPolygonOffsetEXT :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | This command is an alias for glPolygonOffsetClamp.
glPolygonOffsetClampEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glPrioritizeTextures.
glPrioritizeTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLclampf -> m ()

-- | The vector equivalent of this command is
--   glProgramNamedParameter4dvNV.
glProgramNamedParameter4dNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramNamedParameter4dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramEnvParameterI4ivNV.
glProgramEnvParameterI4iNV :: MonadIO m => GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramEnvParameterI4ivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glProgramEnvParameterI4uivNV.
glProgramEnvParameterI4uiNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramEnvParameterI4uivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glProgramEnvParametersI4ivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
glProgramEnvParametersI4uivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameterI4ivNV.
glProgramLocalParameterI4iNV :: MonadIO m => GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramLocalParameterI4ivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameterI4uivNV.
glProgramLocalParameterI4uiNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramLocalParameterI4uivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glProgramLocalParametersI4ivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
glProgramLocalParametersI4uivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
glProgramBufferParametersIivNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> m ()
glProgramBufferParametersIuivNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> m ()
glProgramBufferParametersfvNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glPointAlongPathNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m GLboolean

-- | This command is an alias for glPointParameteri.
glPointParameteriNV :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for glPointParameteriv.
glPointParameterivNV :: MonadIO m => GLenum -> Ptr GLint -> m ()
glPresentFrameDualFillNV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> m ()
glPresentFrameKeyedNV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> m ()
glPrimitiveRestartIndexNV :: MonadIO m => GLuint -> m ()
glPrimitiveRestartNV :: MonadIO m => m ()
glPixelMapx :: MonadIO m => GLenum -> GLint -> Ptr GLfixed -> m ()
glPixelStorex :: MonadIO m => GLenum -> GLfixed -> m ()
glPixelTransferxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glPixelZoomxOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glPointParameterxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glPointSizexOES :: MonadIO m => GLfixed -> m ()
glPolygonOffsetxOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glPrioritizeTexturesxOES :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfixed -> m ()
glPixelTexGenParameterfSGIS :: MonadIO m => GLenum -> GLfloat -> m ()
glPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPixelTexGenParameteriSGIS :: MonadIO m => GLenum -> GLint -> m ()
glPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glPointParameterf.
glPointParameterfSGIS :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for glPointParameterfv.
glPointParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPollAsyncSGIX :: MonadIO m => Ptr GLuint -> m GLint
glPollInstrumentsSGIX :: MonadIO m => Ptr GLint -> m GLint
glPixelTexGenSGIX :: MonadIO m => GLenum -> m ()
glPointParameterx :: MonadIO m => GLenum -> GLfixed -> m ()
glPointParameterxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glPointParameterxv :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glPointSizePointerOES :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glPointSizex :: MonadIO m => GLfixed -> m ()

-- | This command is an alias for glPolygonMode.
glPolygonModeNV :: MonadIO m => GLenum -> GLenum -> m ()
glPolygonOffsetx :: MonadIO m => GLfixed -> GLfixed -> m ()

-- | This command is an alias for glPopDebugGroup.
glPopDebugGroupKHR :: MonadIO m => m ()
glPrimitiveBoundingBox :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glPrimitiveBoundingBox.
glPrimitiveBoundingBoxEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glPrimitiveBoundingBox.
glPrimitiveBoundingBoxOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glProgramBinary.
glProgramBinaryOES :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLint -> m ()
glProgramUniform1i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> m ()
glProgramUniform1i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform1ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniform1ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform2i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform2i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform2ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform2ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform3i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform3i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform3ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform3ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform4i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform4i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramStringARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glProgramUniform1i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> m ()
glProgramUniform1i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform1ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniform1ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform2i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> m ()
glProgramUniform2i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform2ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> m ()
glProgramUniform2ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform3i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> m ()
glProgramUniform3i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform3ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glProgramUniform3ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform4i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
glProgramUniform4i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()

-- | This command is an alias for glProgramParameteri.
glProgramParameteriARB :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramUniform1dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniform1f.
glProgramUniform1fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | This command is an alias for glProgramUniform1fv.
glProgramUniform1fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glProgramUniform1i.
glProgramUniform1iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramUniform1iv.
glProgramUniform1ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glProgramUniform1ui.
glProgramUniform1uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | This command is an alias for glProgramUniform1uiv.
glProgramUniform1uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniform2f.
glProgramUniform2fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glProgramUniform2fv.
glProgramUniform2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glProgramUniform2i.
glProgramUniform2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramUniform2iv.
glProgramUniform2ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glProgramUniform2ui.
glProgramUniform2uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glProgramUniform2uiv.
glProgramUniform2uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniform3f.
glProgramUniform3fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glProgramUniform3fv.
glProgramUniform3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glProgramUniform3i.
glProgramUniform3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramUniform3iv.
glProgramUniform3ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glProgramUniform3ui.
glProgramUniform3uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glProgramUniform3uiv.
glProgramUniform3uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniform4f.
glProgramUniform4fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glProgramUniform4fv.
glProgramUniform4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glProgramUniform4i.
glProgramUniform4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramParameteri.
glProgramParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | The vector equivalent of this command is
--   glProgramNamedParameter4fvNV.
glProgramNamedParameter4fNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramNamedParameter4fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> m ()
glProgramSubroutineParametersuivNV :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glProgramPathFragmentInputGenNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glProgramParameter4dvNV.
glProgramParameter4dNV :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramParameter4dvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramParameter4fvNV.
glProgramParameter4fNV :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramParameter4fvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glProgramParameters4dvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
glProgramParameters4fvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramUniform4ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform4ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glQueryObjectParameteruiAMD :: MonadIO m => GLenum -> GLuint -> GLenum -> GLuint -> m ()
glProgramUniformHandleui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform4ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glProgramUniform4ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
glPushGroupMarkerEXT :: MonadIO m => GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for glProgramUniform4iv.
glProgramUniform4ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glProgramUniform4ui.
glProgramUniform4uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glProgramUniform4uiv.
glProgramUniform4uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix2fv.
glProgramUniformMatrix2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix2x3fv.
glProgramUniformMatrix2x3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix2x4fv.
glProgramUniformMatrix2x4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix3fv.
glProgramUniformMatrix3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix3x2fv.
glProgramUniformMatrix3x2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix3x4fv.
glProgramUniformMatrix3x4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix4fv.
glProgramUniformMatrix4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix4x2fv.
glProgramUniformMatrix4x2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix4x3fv.
glProgramUniformMatrix4x3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glPushClientAttribDefaultEXT :: MonadIO m => GLbitfield -> m ()

-- | This command is an alias for glProvokingVertex.
glProvokingVertexEXT :: MonadIO m => GLenum -> m ()
glProgramUniformHandleui64NV :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramVertexLimitNV :: MonadIO m => GLenum -> GLint -> m ()
glQueryResourceNV :: MonadIO m => GLenum -> GLint -> GLuint -> Ptr GLint -> m GLint
glQueryResourceTagNV :: MonadIO m => GLint -> Ptr GLchar -> m ()
glProgramUniformui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniformui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glRasterPos2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glRasterPos2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glRasterPos3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glRasterPos3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glRasterPos4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glQueryMatrixxOES :: MonadIO m => Ptr GLfixed -> Ptr GLint -> m GLbitfield

-- | This command is an alias for glProgramUniformHandleui64ARB.
glProgramUniformHandleui64IMG :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()

-- | This command is an alias for glProgramUniformHandleui64vARB.
glProgramUniformHandleui64vIMG :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | This command is an alias for glPushDebugGroup.
glPushDebugGroupKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for glQueryCounter.
glQueryCounterEXT :: MonadIO m => GLuint -> GLenum -> m ()
glRenderbufferStorageMultisampleAdvancedAMD :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glResetHistogram :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glResetMinmax :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glSampleCoverage.
glSampleCoverageARB :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | This command is an alias for glReadnPixels.
glReadnPixelsARB :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()
glSampleMapATI :: MonadIO m => GLuint -> GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glRenderbufferStorageMultisample.
glRenderbufferStorageMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glRenderbufferStorage.
glRenderbufferStorageEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glResetHistogram.
glResetHistogramEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glResetMinmax.
glResetMinmaxEXT :: MonadIO m => GLenum -> m ()
glSampleMaskEXT :: MonadIO m => GLclampf -> GLboolean -> m ()
glSamplePatternEXT :: MonadIO m => GLenum -> m ()
glRasterSamplesEXT :: MonadIO m => GLuint -> GLboolean -> m ()
glReleaseKeyedMutexWin32EXT :: MonadIO m => GLuint -> GLuint64 -> m GLboolean
glResizeBuffersMESA :: MonadIO m => m ()
glSampleMaskIndexedNV :: MonadIO m => GLuint -> GLbitfield -> m ()
glRenderbufferStorageMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderGpuMaskNV :: MonadIO m => GLbitfield -> m ()
glResetMemoryObjectParameterNV :: MonadIO m => GLuint -> GLenum -> m ()
glResolveDepthValuesNV :: MonadIO m => m ()

-- | This command is an alias for glResumeTransformFeedback.
glResumeTransformFeedbackNV :: MonadIO m => m ()
glRequestResidentProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glRasterPos4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glRectxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glRectxvOES :: MonadIO m => Ptr GLfixed -> Ptr GLfixed -> m ()
glRotatexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glScalexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()

-- | This command is an alias for glSampleMaskEXT.
glSampleMaskSGIS :: MonadIO m => GLclampf -> GLboolean -> m ()

-- | This command is an alias for glSamplePatternEXT.
glSamplePatternSGIS :: MonadIO m => GLenum -> m ()
glReadInstrumentsSGIX :: MonadIO m => GLint -> m ()
glReferencePlaneSGIX :: MonadIO m => Ptr GLdouble -> m ()
glReplacementCodePointerSUN :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr a) -> m ()
glReplacementCodeubSUN :: MonadIO m => GLubyte -> m ()
glReplacementCodeubvSUN :: MonadIO m => Ptr GLubyte -> m ()
glReplacementCodeuiSUN :: MonadIO m => GLuint -> m ()
glReplacementCodeuivSUN :: MonadIO m => Ptr GLuint -> m ()
glReplacementCodeusSUN :: MonadIO m => GLushort -> m ()
glReplacementCodeusvSUN :: MonadIO m => Ptr GLushort -> m ()
glReplacementCodeuiColor3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiColor3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiColor4fNormal3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiColor4fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiColor4ubVertex3fSUN :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiColor4ubVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> m ()
glReplacementCodeuiNormal3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiNormal3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiTexCoord2fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiTexCoord2fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> m ()
glReadBufferIndexedEXT :: MonadIO m => GLenum -> GLint -> m ()
glReadBufferNV :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glReadnPixels.
glReadnPixelsEXT :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glReadnPixels.
glReadnPixelsKHR :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glRenderbufferStorageMultisampleANGLE :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleAPPLE :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleIMG :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glRenderbufferStorageMultisample.
glRenderbufferStorageMultisampleNV :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageOES :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glResolveMultisampleFramebufferAPPLE :: MonadIO m => m ()
glRotatex :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glSampleCoveragex :: MonadIO m => GLclampx -> GLboolean -> m ()
glSampleCoveragexOES :: MonadIO m => GLclampx -> GLboolean -> m ()

-- | This command is an alias for glSamplerParameterIiv.
glSamplerParameterIivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glSamplerParameterIiv.
glSamplerParameterIivOES :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glSamplerParameterIuiv.
glSamplerParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for glSamplerParameterIuiv.
glSamplerParameterIuivOES :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glScalex :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glSelectPerfMonitorCountersAMD :: MonadIO m => GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> m ()
glSetMultisamplefvAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glSetFenceAPPLE :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | This command is an alias for glSpecializeShader.
glSpecializeShaderARB :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSeparableFilter2D :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> m ()

-- | This command is an alias for glShaderSource.
glShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()
glSetFragmentShaderConstantATI :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glStencilFuncSeparateATI :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | This command is an alias for glStencilOpSeparate.
glStencilOpSeparateATI :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()
glSpecializeShader :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glSeparableFilter2D.
glSeparableFilter2DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3bvEXT. This command is an alias for
--   glSecondaryColor3b.
glSecondaryColor3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | This command is an alias for glSecondaryColor3bv.
glSecondaryColor3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3dvEXT. This command is an alias for
--   glSecondaryColor3d.
glSecondaryColor3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glSecondaryColor3dv.
glSecondaryColor3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3fvEXT. This command is an alias for
--   glSecondaryColor3f.
glSecondaryColor3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glSecondaryColor3fv.
glSecondaryColor3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3ivEXT. This command is an alias for
--   glSecondaryColor3i.
glSecondaryColor3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glSecondaryColor3iv.
glSecondaryColor3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3svEXT. This command is an alias for
--   glSecondaryColor3s.
glSecondaryColor3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glSecondaryColor3sv.
glSecondaryColor3svEXT :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3ubvEXT. This command is an alias for
--   glSecondaryColor3ub.
glSecondaryColor3ubEXT :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for glSecondaryColor3ubv.
glSecondaryColor3ubvEXT :: MonadIO m => Ptr GLubyte -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3uivEXT. This command is an alias for
--   glSecondaryColor3ui.
glSecondaryColor3uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glSecondaryColor3uiv.
glSecondaryColor3uivEXT :: MonadIO m => Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3usvEXT. This command is an alias for
--   glSecondaryColor3us.
glSecondaryColor3usEXT :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | This command is an alias for glSecondaryColor3usv.
glSecondaryColor3usvEXT :: MonadIO m => Ptr GLushort -> m ()

-- | This command is an alias for glSecondaryColorPointer.
glSecondaryColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glSemaphoreParameterui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()
glSignalSemaphoreEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> m ()
glStencilClearTagEXT :: MonadIO m => GLsizei -> GLuint -> m ()
glSetInvariantEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glSetLocalConstantEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glShaderOp1EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glShaderOp2EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> m ()
glShaderOp3EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glSecondaryColorPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glStateCaptureNV :: MonadIO m => GLuint -> GLenum -> m ()
glSignalVkFenceNV :: MonadIO m => GLuint64 -> m ()
glSignalVkSemaphoreNV :: MonadIO m => GLuint64 -> m ()
glSetFenceNV :: MonadIO m => GLuint -> GLenum -> m ()

-- | The vector equivalent of this command is glSecondaryColor3hvNV.
glSecondaryColor3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glSecondaryColor3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glStencilFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glStencilFillPathNV :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()
glScissorExclusiveArrayvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()
glScissorExclusiveNV :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()
glShadingRateImageBarrierNV :: MonadIO m => GLboolean -> m ()
glShadingRateImagePaletteNV :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLenum -> m ()
glShadingRateSampleOrderCustomNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glShadingRateSampleOrderNV :: MonadIO m => GLenum -> m ()
glSecondaryColorFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glSignalSemaphoreui64NVX :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()
glSharpenTexFuncSGIS :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glStartInstrumentsSGIX :: MonadIO m => m ()
glSpriteParameterfSGIX :: MonadIO m => GLenum -> GLfloat -> m ()
glSpriteParameterfvSGIX :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glSpriteParameteriSGIX :: MonadIO m => GLenum -> GLint -> m ()
glSpriteParameterivSGIX :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glScissorArrayv.
glScissorArrayvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glScissorArrayv.
glScissorArrayvOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glScissorIndexed.
glScissorIndexedNV :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glScissorIndexed.
glScissorIndexedOES :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glScissorIndexedv.
glScissorIndexedvNV :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for glScissorIndexedv.
glScissorIndexedvOES :: MonadIO m => GLuint -> Ptr GLint -> m ()
glStartTilingQCOM :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> m ()
glStencilOpValueAMD :: MonadIO m => GLenum -> GLuint -> m ()
glTessellationFactorAMD :: MonadIO m => GLfloat -> m ()
glTessellationModeAMD :: MonadIO m => GLenum -> m ()
glTestFenceAPPLE :: MonadIO m => GLuint -> m GLboolean
glTestObjectAPPLE :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | This command is an alias for glTexBuffer.
glTexBufferARB :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTexBumpParameterfvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glTexBumpParameterivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | The vector equivalent of this command is glTangent3bvEXT.
glTangent3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glTangent3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glTangent3dvEXT.
glTangent3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glTangent3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glTangent3fvEXT.
glTangent3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glTangent3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glTangent3ivEXT.
glTangent3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()
glTangent3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glTangent3svEXT.
glTangent3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glTangent3svEXT :: MonadIO m => Ptr GLshort -> m ()
glTangentPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glTexBuffer.
glTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glSwizzleEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glStringMarkerGREMEDY :: MonadIO m => GLsizei -> Ptr a -> m ()
glSyncTextureINTEL :: MonadIO m => GLuint -> m ()
glSubpixelPrecisionBiasNV :: MonadIO m => GLuint -> GLuint -> m ()
glTestFenceNV :: MonadIO m => GLuint -> m GLboolean

-- | The vector equivalent of this command is glTexCoord1hvNV.
glTexCoord1hNV :: MonadIO m => GLhalfNV -> m ()
glTexCoord1hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glTexCoord2hvNV.
glTexCoord2hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> m ()
glTexCoord2hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glTexCoord3hvNV.
glTexCoord3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glTexCoord3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glTexAttachMemoryNV :: MonadIO m => GLenum -> GLuint -> GLuint64 -> m ()
glStencilStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glStencilStrokePathNV :: MonadIO m => GLuint -> GLint -> GLuint -> m ()
glStencilThenCoverFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glStencilThenCoverFillPathNV :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> m ()
glStencilThenCoverStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glStencilThenCoverStrokePathNV :: MonadIO m => GLuint -> GLint -> GLuint -> GLenum -> m ()
glTexCoord1bOES :: MonadIO m => GLbyte -> m ()
glTexCoord1bvOES :: MonadIO m => Ptr GLbyte -> m ()
glTexCoord2bOES :: MonadIO m => GLbyte -> GLbyte -> m ()
glTexCoord2bvOES :: MonadIO m => Ptr GLbyte -> m ()
glTexCoord3bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glTexCoord3bvOES :: MonadIO m => Ptr GLbyte -> m ()
glTexCoord4bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glTexCoord4bvOES :: MonadIO m => Ptr GLbyte -> m ()
glTexCoord1xOES :: MonadIO m => GLfixed -> m ()
glTexCoord1xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoord2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glTexCoord2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoord3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glTexCoord3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glStopInstrumentsSGIX :: MonadIO m => GLint -> m ()
glTagSampleBufferSGIX :: MonadIO m => m ()
glTexCoord2fColor3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fColor3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord2fColor4fNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fColor4fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord2fColor4ubVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fColor4ubVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> m ()
glTexCoord2fNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord2fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord4fColor4fNormal3fVertex4fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord4fColor4fNormal3fVertex4fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord4fVertex4fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTbufferMask3DFX :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glTexBuffer.
glTexBufferOES :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | This command is an alias for glTexBufferRange.
glTexBufferRangeEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | This command is an alias for glTexBufferRange.
glTexBufferRangeOES :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTexStorageSparseAMD :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTexPageCommitmentARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBarrier :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTextureBufferEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glTexStorageMem1DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> m ()
glTexStorageMem2DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> m ()
glTexStorageMem2DMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> m ()
glTexStorageMem3DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> m ()
glTexStorageMem3DMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> m ()

-- | This command is an alias for glTexSubImage1D.
glTexSubImage1DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glTexSubImage2D.
glTexSubImage2DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glTexImage3D.
glTexImage3DEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glTexSubImage3D.
glTexSubImage3DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glTexParameterIiv.
glTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glTexParameterIuiv.
glTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glTexCoordPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glTexCoordPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glTexCoordPointervINTEL :: MonadIO m => GLint -> GLenum -> Ptr (Ptr a) -> m ()
glTexRenderbufferNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | The vector equivalent of this command is glTexCoord4hvNV.
glTexCoord4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glTexCoord4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glTextureAttachMemoryNV :: MonadIO m => GLuint -> GLuint -> GLuint64 -> m ()
glTextureBarrierNV :: MonadIO m => m ()
glTexImage2DMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexImage3DMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexCoordFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glTexCoord4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glTexCoord4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexEnvxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexEnvxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexGenxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexGenxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexParameterxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexImage4DSGIS :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTexSubImage4DSGIS :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTexFilterFuncSGIS :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glTexCoord4fVertex4fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()
glTexEnvx :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexEnvxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexGenfOES :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glTexGenfvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexGeniOES :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glTexGenivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexImage3DOES :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glTexPageCommitmentARB.
glTexPageCommitmentEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | This command is an alias for glTexParameterIiv.
glTexParameterIivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glTexParameterIuiv.
glTexParameterIuivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glTexParameterx :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexParameterxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

-- | This command is an alias for glTexStorage1D.
glTexStorage1DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | This command is an alias for glTexStorage2D.
glTexStorage2DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glTexStorage3D.
glTexStorage3DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glTexStorage3DMultisample.
glTexStorage3DMultisampleOES :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexSubImage3DOES :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glUniform1i64NV :: MonadIO m => GLint -> GLint64EXT -> m ()
glUniform1i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform1ui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniform1ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform2i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> m ()
glUniform2i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glTextureStorageSparseAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()
glTextureRangeAPPLE :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform1i64ARB :: MonadIO m => GLint -> GLint64 -> m ()
glUniform1i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform1ui64ARB :: MonadIO m => GLint -> GLuint64 -> m ()
glUniform1ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform2i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> m ()
glUniform2i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()

-- | This command is an alias for glUniform1f.
glUniform1fARB :: MonadIO m => GLint -> GLfloat -> m ()

-- | This command is an alias for glUniform1fv.
glUniform1fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniform1i.
glUniform1iARB :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for glUniform1iv.
glUniform1ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glUniform2f.
glUniform2fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glUniform2fv.
glUniform2fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniform2i.
glUniform2iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glTextureBufferRangeEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTextureImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTexturePageCommitmentEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glTextureParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glTextureParameterfvEXT.
glTextureParameterfEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLfloat -> m ()
glTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glTextureParameterivEXT.
glTextureParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLint -> m ()
glTextureParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glTextureRenderbufferEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()
glTextureStorage1DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
glTextureStorage2DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTextureStorage2DMultisampleEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage3DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glTextureStorage3DMultisampleEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glUniform1ui.
glUniform1uiEXT :: MonadIO m => GLint -> GLuint -> m ()

-- | This command is an alias for glUniform1uiv.
glUniform1uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glTextureLightEXT :: MonadIO m => GLenum -> m ()
glTextureMaterialEXT :: MonadIO m => GLenum -> GLenum -> m ()
glTextureStorageMem1DEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> m ()
glTextureStorageMem2DEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> m ()
glTextureStorageMem2DMultisampleEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> m ()
glTextureStorageMem3DEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> m ()
glTextureStorageMem3DMultisampleEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> m ()
glTextureNormalEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glTransformFeedbackVaryings.
glTransformFeedbackVaryingsEXT :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glTransformPathNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glTextureImage2DMultisampleCoverageNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage2DMultisampleNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage3DMultisampleCoverageNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage3DMultisampleNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTransformFeedbackAttribsNV :: MonadIO m => GLsizei -> Ptr GLint -> GLenum -> m ()
glTransformFeedbackStreamAttribsNV :: MonadIO m => GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> m ()
glTransformFeedbackVaryingsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> GLenum -> m ()
glTrackMatrixNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLenum -> m ()
glTranslatexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glTextureColorMaskSGIS :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glTextureFoveationParametersQCOM :: MonadIO m => GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glTextureView.
glTextureViewEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glTextureView.
glTextureViewOES :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glTranslatex :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glUniform2ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform2ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform3i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform3i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform3ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform3ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform4i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform4i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform4ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform4ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniformHandleui64ARB :: MonadIO m => GLint -> GLuint64 -> m ()
glUniformHandleui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | Manual page for OpenGL 4.x.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniform2ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> m ()
glUniform2ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform3i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> GLint64 -> m ()
glUniform3i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform3ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glUniform3ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform4i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
glUniform4i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform4ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glUniform4ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | This command is an alias for glUniform2iv.
glUniform2ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glUniform3f.
glUniform3fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glUniform3fv.
glUniform3fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniform3i.
glUniform3iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glUniform3iv.
glUniform3ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glUniform4f.
glUniform4fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glUniform4fv.
glUniform4fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniform4i.
glUniform4iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glUniform4iv.
glUniform4ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glUniformMatrix2fv.
glUniformMatrix2fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix3fv.
glUniformMatrix3fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix4fv.
glUniformMatrix4fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glUnmapBuffer.
glUnmapBufferARB :: MonadIO m => GLenum -> m GLboolean
glUnmapObjectBufferATI :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean
glUniformBufferEXT :: MonadIO m => GLuint -> GLint -> GLuint -> m ()
glUnlockArraysEXT :: MonadIO m => m ()
glUnmapNamedBufferEXT :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glUniform2ui.
glUniform2uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glUniform2uiv.
glUniform2uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glUniform3ui.
glUniform3uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glUniform3uiv.
glUniform3uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glUniform4ui.
glUniform4uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glUniform4uiv.
glUniform4uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUnmapTexture2DINTEL :: MonadIO m => GLuint -> GLint -> m ()
glUniformHandleui64NV :: MonadIO m => GLint -> GLuint64 -> m ()
glUniformHandleui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniformui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniformui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for glUniformHandleui64ARB.
glUniformHandleui64IMG :: MonadIO m => GLint -> GLuint64 -> m ()

-- | This command is an alias for glUniformHandleui64vARB.
glUniformHandleui64vIMG :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | This command is an alias for glUniformMatrix2x3fv.
glUniformMatrix2x3fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix2x4fv.
glUniformMatrix2x4fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix3x2fv.
glUniformMatrix3x2fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix3x4fv.
glUniformMatrix3x4fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix4x2fv.
glUniformMatrix4x2fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix4x3fv.
glUniformMatrix4x3fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUnmapBuffer.
glUnmapBufferOES :: MonadIO m => GLenum -> m GLboolean
glVertexArrayParameteriAPPLE :: MonadIO m => GLenum -> GLint -> m ()
glVertexArrayRangeAPPLE :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glUseProgram.
glUseProgramObjectARB :: MonadIO m => GLhandleARB -> m ()

-- | This command is an alias for glValidateProgram.
glValidateProgramARB :: MonadIO m => GLhandleARB -> m ()
glUpdateObjectBufferATI :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> m ()
glVariantArrayObjectATI :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()
glVertexArrayBindVertexBufferEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
glVertexArrayColorOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayEdgeFlagOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> GLintptr -> m ()
glVertexArrayFogCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayIndexOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayMultiTexCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayNormalOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArraySecondaryColorOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayTexCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribBindingEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexAttribDivisorEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexAttribFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexArrayVertexAttribIFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayVertexAttribIOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribLFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayVertexAttribLOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> m ()
glUseShaderProgramEXT :: MonadIO m => GLenum -> GLuint -> m ()
glVariantPointerEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr a -> m ()
glVariantbvEXT :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVariantdvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVariantfvEXT :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVariantivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVariantsvEXT :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVariantubvEXT :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVariantuivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVariantusvEXT :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | The vector equivalent of this command is glVertex2hvNV.
glVertex2hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> m ()
glVertex2hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertex3hvNV.
glVertex3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertex3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertex4hvNV.
glVertex4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertex4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glVDPAUFiniNV :: MonadIO m => m ()
glVDPAUGetSurfaceivNV :: MonadIO m => GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
glVDPAUInitNV :: MonadIO m => Ptr a -> Ptr b -> m ()
glVDPAUIsSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m GLboolean
glVDPAUMapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
glVDPAURegisterOutputSurfaceNV :: MonadIO m => Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> m GLvdpauSurfaceNV
glVDPAURegisterVideoSurfaceNV :: MonadIO m => Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> m GLvdpauSurfaceNV
glVDPAUSurfaceAccessNV :: MonadIO m => GLvdpauSurfaceNV -> GLenum -> m ()
glVDPAUUnmapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
glVDPAUUnregisterSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m ()
glVDPAURegisterVideoSurfaceWithPictureStructureNV :: MonadIO m => Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m GLvdpauSurfaceNV
glVertexArrayRangeNV :: MonadIO m => GLsizei -> Ptr a -> m ()
glUploadGpuMaskNVX :: MonadIO m => GLbitfield -> m ()
glVertex2bOES :: MonadIO m => GLbyte -> GLbyte -> m ()
glVertex2bvOES :: MonadIO m => Ptr GLbyte -> m ()
glVertex3bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glVertex3bvOES :: MonadIO m => Ptr GLbyte -> m ()
glVertex4bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glVertex4bvOES :: MonadIO m => Ptr GLbyte -> m ()
glVertex2xOES :: MonadIO m => GLfixed -> m ()
glVertex2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glVertex3xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glVertex3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glVertex4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glVertex4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glUseProgramStagesEXT :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()
glValidateProgramPipelineEXT :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | The vector equivalent of this command is glVertexAttrib1dvARB.
--   This command is an alias for glVertexAttrib1d.
glVertexAttrib1dARB :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib1dv.
glVertexAttrib1dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib1fvARB.
--   This command is an alias for glVertexAttrib1f.
glVertexAttrib1fARB :: MonadIO m => GLuint -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib1fv.
glVertexAttrib1fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib1svARB.
--   This command is an alias for glVertexAttrib1s.
glVertexAttrib1sARB :: MonadIO m => GLuint -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib1sv.
glVertexAttrib1svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib2dvARB.
--   This command is an alias for glVertexAttrib2d.
glVertexAttrib2dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib2dv.
glVertexAttrib2dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib2fvARB.
--   This command is an alias for glVertexAttrib2f.
glVertexAttrib2fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib2fv.
glVertexAttrib2fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib2svARB.
--   This command is an alias for glVertexAttrib2s.
glVertexAttrib2sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib2sv.
glVertexAttrib2svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib3dvARB.
--   This command is an alias for glVertexAttrib3d.
glVertexAttrib3dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib3dv.
glVertexAttrib3dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib3fvARB.
--   This command is an alias for glVertexAttrib3f.
glVertexAttrib3fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib3fv.
glVertexAttrib3fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib3svARB.
--   This command is an alias for glVertexAttrib3s.
glVertexAttrib3sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib3sv.
glVertexAttrib3svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4Nbv.
glVertexAttrib4NbvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | This command is an alias for glVertexAttrib4Niv.
glVertexAttrib4NivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for glVertexAttrib4Nsv.
glVertexAttrib4NsvARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4Nub.
glVertexAttrib4NubARB :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4Nubv.
glVertexAttrib4NubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4Nuiv.
glVertexAttrib4NuivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttrib4Nusv.
glVertexAttrib4NusvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for glVertexAttrib4bv.
glVertexAttrib4bvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glVertexAttrib4dvARB.
--   This command is an alias for glVertexAttrib4d.
glVertexAttrib4dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib4dv.
glVertexAttrib4dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib4fvARB.
--   This command is an alias for glVertexAttrib4f.
glVertexAttrib4fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib4fv.
glVertexAttrib4fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glVertexAttrib4iv.
glVertexAttrib4ivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttrib4svARB. This command is an alias for
--   glVertexAttrib4s.
glVertexAttrib4sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVertexArrayVertexBindingDivisorEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()

-- | The vector equivalent of this command is glVertexAttrib1hvNV.
glVertexAttrib1hNV :: MonadIO m => GLuint -> GLhalfNV -> m ()
glVertexAttrib1hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexAttrib2hvNV.
glVertexAttrib2hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib2hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexAttrib3hvNV.
glVertexAttrib3hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib3hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexAttrib4hvNV.
glVertexAttrib4hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib4hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexAttrib1dvNV.
--   This command is an alias for glVertexAttrib1d.
glVertexAttrib1dNV :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib1dv.
glVertexAttrib1dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib1fvNV.
--   This command is an alias for glVertexAttrib1f.
glVertexAttrib1fNV :: MonadIO m => GLuint -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib1fv.
glVertexAttrib1fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib1svNV.
--   This command is an alias for glVertexAttrib1s.
glVertexAttrib1sNV :: MonadIO m => GLuint -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib1sv.
glVertexAttrib1svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib2dvNV.
--   This command is an alias for glVertexAttrib2d.
glVertexAttrib2dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib2dv.
glVertexAttrib2dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib2fvNV.
--   This command is an alias for glVertexAttrib2f.
glVertexAttrib2fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib2fv.
glVertexAttrib2fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib2svNV.
--   This command is an alias for glVertexAttrib2s.
glVertexAttrib2sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib2sv.
glVertexAttrib2svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib3dvNV.
--   This command is an alias for glVertexAttrib3d.
glVertexAttrib3dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib3dv.
glVertexAttrib3dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib3fvNV.
--   This command is an alias for glVertexAttrib3f.
glVertexAttrib3fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib3fv.
glVertexAttrib3fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib3svNV.
--   This command is an alias for glVertexAttrib3s.
glVertexAttrib3sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib3sv.
glVertexAttrib3svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib4dvNV.
--   This command is an alias for glVertexAttrib4d.
glVertexAttrib4dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib4dv.
glVertexAttrib4dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib4fvNV.
--   This command is an alias for glVertexAttrib4f.
glVertexAttrib4fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib4fv.
glVertexAttrib4fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib4svNV.
--   This command is an alias for glVertexAttrib4s.
glVertexAttrib4sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexAttribL1ui64ARB :: MonadIO m => GLuint -> GLuint64EXT -> m ()
glVertexAttribL1ui64vARB :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for glVertexAttribDivisor.
glVertexAttribDivisorARB :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | This command is an alias for glVertexAttrib4sv.
glVertexAttrib4svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4ubv.
glVertexAttrib4ubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4uiv.
glVertexAttrib4uivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttrib4usv.
glVertexAttrib4usvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVertexAttribArrayObjectATI :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribL1d.
glVertexAttribL1dEXT :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for glVertexAttribL1dv.
glVertexAttribL1dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glVertexAttribL2d.
glVertexAttribL2dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttribL2dv.
glVertexAttribL2dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glVertexAttribL3d.
glVertexAttribL3dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttribL3dv.
glVertexAttribL3dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glVertexAttribL4d.
glVertexAttribL4dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttribL4dv.
glVertexAttribL4dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttribL1i64NV :: MonadIO m => GLuint -> GLint64EXT -> m ()
glVertexAttribL1i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL1ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> m ()
glVertexAttribL1ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribL2i64NV :: MonadIO m => GLuint -> GLint64EXT -> GLint64EXT -> m ()
glVertexAttribL2i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL2ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint64EXT -> m ()
glVertexAttribL2ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribL3i64NV :: MonadIO m => GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glVertexAttribL3i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL3ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glVertexAttribL3ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribL4i64NV :: MonadIO m => GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glVertexAttribL4i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL4ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glVertexAttribL4ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribLFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> m ()
glVertexAttribFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> m ()
glVertexAttribIFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> m ()

-- | This command is an alias for glVertexAttrib4sv.
glVertexAttrib4svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib4ubvNV.
--   This command is an alias for glVertexAttrib4Nub.
glVertexAttrib4ubNV :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4Nubv.
glVertexAttrib4ubvNV :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | The vector equivalent of this command is glVertexAttribI1ivEXT.
--   This command is an alias for glVertexAttribI1i.
glVertexAttribI1iEXT :: MonadIO m => GLuint -> GLint -> m ()

-- | This command is an alias for glVertexAttribI1iv.
glVertexAttribI1ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttribI1uivEXT. This command is an alias for
--   glVertexAttribI1ui.
glVertexAttribI1uiEXT :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribI1uiv.
glVertexAttribI1uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is glVertexAttribI2ivEXT.
--   This command is an alias for glVertexAttribI2i.
glVertexAttribI2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for glVertexAttribI2iv.
glVertexAttribI2ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttribI2uivEXT. This command is an alias for
--   glVertexAttribI2ui.
glVertexAttribI2uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribI2uiv.
glVertexAttribI2uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is glVertexAttribI3ivEXT.
--   This command is an alias for glVertexAttribI3i.
glVertexAttribI3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glVertexAttribI3iv.
glVertexAttribI3ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttribI3uivEXT. This command is an alias for
--   glVertexAttribI3ui.
glVertexAttribI3uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribI3uiv.
glVertexAttribI3uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttribI4bv.
glVertexAttribI4bvEXT :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glVertexAttribI4ivEXT.
--   This command is an alias for glVertexAttribI4i.
glVertexAttribI4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glVertexAttribI4iv.
glVertexAttribI4ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for glVertexAttribI4sv.
glVertexAttribI4svEXT :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttribI4ubv.
glVertexAttribI4ubvEXT :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | The vector equivalent of this command is
--   glVertexAttribI4uivEXT. This command is an alias for
--   glVertexAttribI4ui.
glVertexAttribI4uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribI4uiv.
glVertexAttribI4uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttribI4usv.
glVertexAttribI4usvEXT :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for glVertexAttribIPointer.
glVertexAttribIPointerEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glVertexAttribDivisor.
glVertexAttribDivisorANGLE :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribDivisor.
glVertexAttribDivisorEXT :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribDivisor.
glVertexAttribDivisorNV :: MonadIO m => GLuint -> GLuint -> m ()
glVertexAttribParameteriAMD :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()
glVertexBlendARB :: MonadIO m => GLint -> m ()

-- | This command is an alias for glVertexAttribPointer.
glVertexAttribPointerARB :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVertexBlendEnvfATI :: MonadIO m => GLenum -> GLfloat -> m ()
glVertexBlendEnviATI :: MonadIO m => GLenum -> GLint -> m ()
glVertexStream1dATI :: MonadIO m => GLenum -> GLdouble -> m ()
glVertexStream1dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVertexStream1fATI :: MonadIO m => GLenum -> GLfloat -> m ()
glVertexStream1fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVertexStream1iATI :: MonadIO m => GLenum -> GLint -> m ()
glVertexStream1ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glVertexStream1sATI :: MonadIO m => GLenum -> GLshort -> m ()
glVertexStream1svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glVertexStream2dATI :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()
glVertexStream2dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVertexStream2fATI :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()
glVertexStream2fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVertexStream2iATI :: MonadIO m => GLenum -> GLint -> GLint -> m ()
glVertexStream2ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glVertexStream2sATI :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()
glVertexStream2svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glVertexStream3dATI :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexStream3dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVertexStream3fATI :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexStream3fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVertexStream3iATI :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()
glVertexStream3ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glVertexStream3sATI :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()
glVertexStream3svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glVertexStream4dATI :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexStream4dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVertexStream4fATI :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexStream4fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVertexStream4iATI :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()
glVertexStream4ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glVertexStream4sATI :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexStream4svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()
glWaitSemaphoreEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> m ()
glVertexPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glVertexAttribLPointer.
glVertexAttribLPointerEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glVertexWeightPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is glVertexWeightfvEXT.
glVertexWeightfEXT :: MonadIO m => GLfloat -> m ()
glVertexWeightfvEXT :: MonadIO m => Ptr GLfloat -> m ()
glVertexPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glVertexPointervINTEL :: MonadIO m => GLint -> GLenum -> Ptr (Ptr a) -> m ()
glViewportPositionWScaleNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glVertexAttribs1hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
glVertexAttribs2hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
glVertexAttribs3hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
glVertexAttribs4hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexWeighthvNV.
glVertexWeighthNV :: MonadIO m => GLhalfNV -> m ()
glVertexWeighthvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glVertexFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glVertexAttribPointerNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glVertexAttribs1dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs1fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs1svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs2dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs2fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs2svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs3dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs3fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs3svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs4dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs4fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs4svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs4ubvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> m ()
glVideoCaptureNV :: MonadIO m => GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> m GLenum
glVideoCaptureStreamParameterdvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glVideoCaptureStreamParameterfvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glVideoCaptureStreamParameterivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glViewportSwizzleNV :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glWaitSemaphoreui64NVX :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()

-- | This command is an alias for glViewportArrayv.
glViewportArrayvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glViewportArrayv.
glViewportArrayvOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glViewportIndexedf.
glViewportIndexedfNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glViewportIndexedf.
glViewportIndexedfOES :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glViewportIndexedfv.
glViewportIndexedfvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glViewportIndexedfv.
glViewportIndexedfvOES :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()
glWeightPointerARB :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glWeightbvARB :: MonadIO m => GLint -> Ptr GLbyte -> m ()
glWeightdvARB :: MonadIO m => GLint -> Ptr GLdouble -> m ()
glWeightfvARB :: MonadIO m => GLint -> Ptr GLfloat -> m ()
glWeightivARB :: MonadIO m => GLint -> Ptr GLint -> m ()
glWeightsvARB :: MonadIO m => GLint -> Ptr GLshort -> m ()
glWeightubvARB :: MonadIO m => GLint -> Ptr GLubyte -> m ()
glWeightuivARB :: MonadIO m => GLint -> Ptr GLuint -> m ()
glWeightusvARB :: MonadIO m => GLint -> Ptr GLushort -> m ()

-- | The vector equivalent of this command is glWindowPos2dvARB.
--   This command is an alias for glWindowPos2d.
glWindowPos2dARB :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | This command is an alias for glWindowPos2dv.
glWindowPos2dvARB :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos2fvARB.
--   This command is an alias for glWindowPos2f.
glWindowPos2fARB :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | This command is an alias for glWindowPos2fv.
glWindowPos2fvARB :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos2ivARB.
--   This command is an alias for glWindowPos2i.
glWindowPos2iARB :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for glWindowPos2iv.
glWindowPos2ivARB :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos2svARB.
--   This command is an alias for glWindowPos2s.
glWindowPos2sARB :: MonadIO m => GLshort -> GLshort -> m ()

-- | This command is an alias for glWindowPos2sv.
glWindowPos2svARB :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is glWindowPos3dvARB.
--   This command is an alias for glWindowPos3d.
glWindowPos3dARB :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glWindowPos3dv.
glWindowPos3dvARB :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos3fvARB.
--   This command is an alias for glWindowPos3f.
glWindowPos3fARB :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glWindowPos3fv.
glWindowPos3fvARB :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos3ivARB.
--   This command is an alias for glWindowPos3i.
glWindowPos3iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glWindowPos3iv.
glWindowPos3ivARB :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos3svARB.
--   This command is an alias for glWindowPos3s.
glWindowPos3sARB :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glWindowPos3sv.
glWindowPos3svARB :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()
glWriteMaskEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glWindowRectanglesEXT :: MonadIO m => GLenum -> GLsizei -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos2dvMESA.
--   This command is an alias for glWindowPos2d.
glWindowPos2dMESA :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | This command is an alias for glWindowPos2dv.
glWindowPos2dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos2fvMESA.
--   This command is an alias for glWindowPos2f.
glWindowPos2fMESA :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | This command is an alias for glWindowPos2fv.
glWindowPos2fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos2ivMESA.
--   This command is an alias for glWindowPos2i.
glWindowPos2iMESA :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for glWindowPos2iv.
glWindowPos2ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos2svMESA.
--   This command is an alias for glWindowPos2s.
glWindowPos2sMESA :: MonadIO m => GLshort -> GLshort -> m ()

-- | This command is an alias for glWindowPos2sv.
glWindowPos2svMESA :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is glWindowPos3dvMESA.
--   This command is an alias for glWindowPos3d.
glWindowPos3dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glWindowPos3dv.
glWindowPos3dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos3fvMESA.
--   This command is an alias for glWindowPos3f.
glWindowPos3fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glWindowPos3fv.
glWindowPos3fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos3ivMESA.
--   This command is an alias for glWindowPos3i.
glWindowPos3iMESA :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glWindowPos3iv.
glWindowPos3ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos3svMESA.
--   This command is an alias for glWindowPos3s.
glWindowPos3sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glWindowPos3sv.
glWindowPos3svMESA :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is glWindowPos4dvMESA.
glWindowPos4dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glWindowPos4dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos4fvMESA.
glWindowPos4fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glWindowPos4fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos4ivMESA.
glWindowPos4iMESA :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glWindowPos4ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos4svMESA.
glWindowPos4sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glWindowPos4svMESA :: MonadIO m => Ptr GLshort -> m ()
glWaitVkSemaphoreNV :: MonadIO m => GLuint64 -> m ()
glWeightPathsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glWaitSync.
glWaitSyncAPPLE :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()
glWeightPointerOES :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.ThreeDFX.Tbuffer

-- | Is the 3DFX_tbuffer extension supported?
glGetThreeDFXTbuffer :: MonadIO m => m Bool

-- | Is the 3DFX_tbuffer extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetThreeDFXTbuffer in those cases instead.
gl_3DFX_tbuffer :: Bool
glTbufferMask3DFX :: MonadIO m => GLuint -> m ()

-- | A convenience module, combining all raw modules containing 3DFX
--   extensions.
module Graphics.GL.ThreeDFX

module Graphics.GL.SUNX.ConstantData

-- | Is the SUNX_constant_data extension supported?
glGetSUNXConstantData :: MonadIO m => m Bool

-- | Is the SUNX_constant_data extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSUNXConstantData in those cases instead.
gl_SUNX_constant_data :: Bool
pattern GL_TEXTURE_CONSTANT_DATA_SUNX :: GLenum
pattern GL_UNPACK_CONSTANT_DATA_SUNX :: GLenum
glFinishTextureSUNX :: MonadIO m => m ()

-- | A convenience module, combining all raw modules containing SUNX
--   extensions.
module Graphics.GL.SUNX

module Graphics.GL.SUN.Vertex

-- | Is the SUN_vertex extension supported?
glGetSUNVertex :: MonadIO m => m Bool

-- | Is the SUN_vertex extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSUNVertex in those cases instead.
gl_SUN_vertex :: Bool
glColor3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glColor3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()
glColor4fNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glColor4fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glColor4ubVertex2fSUN :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> m ()
glColor4ubVertex2fvSUN :: MonadIO m => Ptr GLubyte -> Ptr GLfloat -> m ()
glColor4ubVertex3fSUN :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
glColor4ubVertex3fvSUN :: MonadIO m => Ptr GLubyte -> Ptr GLfloat -> m ()
glNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiColor3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiColor3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiColor4fNormal3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiColor4fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiColor4ubVertex3fSUN :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiColor4ubVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> m ()
glReplacementCodeuiNormal3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiNormal3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiTexCoord2fVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiTexCoord2fVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> m ()
glReplacementCodeuiVertex3fSUN :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()
glReplacementCodeuiVertex3fvSUN :: MonadIO m => Ptr GLuint -> Ptr GLfloat -> m ()
glTexCoord2fColor3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fColor3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord2fColor4fNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fColor4fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord2fColor4ubVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fColor4ubVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> m ()
glTexCoord2fNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord2fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord2fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord4fColor4fNormal3fVertex4fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord4fColor4fNormal3fVertex4fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m ()
glTexCoord4fVertex4fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glTexCoord4fVertex4fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

module Graphics.GL.SUN.TriangleList

-- | Is the SUN_triangle_list extension supported?
glGetSUNTriangleList :: MonadIO m => m Bool

-- | Is the SUN_triangle_list extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSUNTriangleList in those cases instead.
gl_SUN_triangle_list :: Bool
pattern GL_R1UI_C3F_V3F_SUN :: GLenum
pattern GL_R1UI_C4F_N3F_V3F_SUN :: GLenum
pattern GL_R1UI_C4UB_V3F_SUN :: GLenum
pattern GL_R1UI_N3F_V3F_SUN :: GLenum
pattern GL_R1UI_T2F_C4F_N3F_V3F_SUN :: GLenum
pattern GL_R1UI_T2F_N3F_V3F_SUN :: GLenum
pattern GL_R1UI_T2F_V3F_SUN :: GLenum
pattern GL_R1UI_V3F_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_ARRAY_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN :: GLenum
pattern GL_REPLACEMENT_CODE_SUN :: GLenum
pattern GL_REPLACE_MIDDLE_SUN :: GLenum
pattern GL_REPLACE_OLDEST_SUN :: GLenum
pattern GL_RESTART_SUN :: GLenum
pattern GL_TRIANGLE_LIST_SUN :: GLenum
glReplacementCodePointerSUN :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr a) -> m ()
glReplacementCodeubSUN :: MonadIO m => GLubyte -> m ()
glReplacementCodeubvSUN :: MonadIO m => Ptr GLubyte -> m ()
glReplacementCodeuiSUN :: MonadIO m => GLuint -> m ()
glReplacementCodeuivSUN :: MonadIO m => Ptr GLuint -> m ()
glReplacementCodeusSUN :: MonadIO m => GLushort -> m ()
glReplacementCodeusvSUN :: MonadIO m => Ptr GLushort -> m ()

module Graphics.GL.SUN.MeshArray

-- | Is the SUN_mesh_array extension supported?
glGetSUNMeshArray :: MonadIO m => m Bool

-- | Is the SUN_mesh_array extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSUNMeshArray in those cases instead.
gl_SUN_mesh_array :: Bool
pattern GL_QUAD_MESH_SUN :: GLenum
pattern GL_TRIANGLE_MESH_SUN :: GLenum
glDrawMeshArraysSUN :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

module Graphics.GL.SUN.GlobalAlpha

-- | Is the SUN_global_alpha extension supported?
glGetSUNGlobalAlpha :: MonadIO m => m Bool

-- | Is the SUN_global_alpha extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSUNGlobalAlpha in those cases instead.
gl_SUN_global_alpha :: Bool
pattern GL_GLOBAL_ALPHA_FACTOR_SUN :: GLenum
pattern GL_GLOBAL_ALPHA_SUN :: GLenum
glGlobalAlphaFactorbSUN :: MonadIO m => GLbyte -> m ()
glGlobalAlphaFactordSUN :: MonadIO m => GLdouble -> m ()
glGlobalAlphaFactorfSUN :: MonadIO m => GLfloat -> m ()
glGlobalAlphaFactoriSUN :: MonadIO m => GLint -> m ()
glGlobalAlphaFactorsSUN :: MonadIO m => GLshort -> m ()
glGlobalAlphaFactorubSUN :: MonadIO m => GLubyte -> m ()
glGlobalAlphaFactoruiSUN :: MonadIO m => GLuint -> m ()
glGlobalAlphaFactorusSUN :: MonadIO m => GLushort -> m ()

-- | A convenience module, combining all raw modules containing SUN
--   extensions.
module Graphics.GL.SUN

module Graphics.GL.SGIX.TagSampleBuffer

-- | Is the SGIX_tag_sample_buffer extension supported?
glGetSGIXTagSampleBuffer :: MonadIO m => m Bool

-- | Is the SGIX_tag_sample_buffer extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXTagSampleBuffer in those cases
--   instead.
gl_SGIX_tag_sample_buffer :: Bool
glTagSampleBufferSGIX :: MonadIO m => m ()

module Graphics.GL.SGIX.Sprite

-- | Is the SGIX_sprite extension supported?
glGetSGIXSprite :: MonadIO m => m Bool

-- | Is the SGIX_sprite extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXSprite in those cases instead.
gl_SGIX_sprite :: Bool
pattern GL_SPRITE_AXIAL_SGIX :: GLenum
pattern GL_SPRITE_AXIS_SGIX :: GLenum
pattern GL_SPRITE_EYE_ALIGNED_SGIX :: GLenum
pattern GL_SPRITE_MODE_SGIX :: GLenum
pattern GL_SPRITE_OBJECT_ALIGNED_SGIX :: GLenum
pattern GL_SPRITE_SGIX :: GLenum
pattern GL_SPRITE_TRANSLATION_SGIX :: GLenum
glSpriteParameterfSGIX :: MonadIO m => GLenum -> GLfloat -> m ()
glSpriteParameterfvSGIX :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glSpriteParameteriSGIX :: MonadIO m => GLenum -> GLint -> m ()
glSpriteParameterivSGIX :: MonadIO m => GLenum -> Ptr GLint -> m ()

module Graphics.GL.SGIX.ReferencePlane

-- | Is the SGIX_reference_plane extension supported?
glGetSGIXReferencePlane :: MonadIO m => m Bool

-- | Is the SGIX_reference_plane extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXReferencePlane in those cases
--   instead.
gl_SGIX_reference_plane :: Bool
pattern GL_REFERENCE_PLANE_EQUATION_SGIX :: GLenum
pattern GL_REFERENCE_PLANE_SGIX :: GLenum
glReferencePlaneSGIX :: MonadIO m => Ptr GLdouble -> m ()

module Graphics.GL.SGIX.PolynomialFFD

-- | Is the SGIX_polynomial_ffd extension supported?
glGetSGIXPolynomialFFD :: MonadIO m => m Bool

-- | Is the SGIX_polynomial_ffd extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXPolynomialFFD in those cases
--   instead.
gl_SGIX_polynomial_ffd :: Bool
pattern GL_DEFORMATIONS_MASK_SGIX :: GLenum
pattern GL_GEOMETRY_DEFORMATION_BIT_SGIX :: GLbitfield
pattern GL_GEOMETRY_DEFORMATION_SGIX :: GLenum
pattern GL_MAX_DEFORMATION_ORDER_SGIX :: GLenum
pattern GL_TEXTURE_DEFORMATION_BIT_SGIX :: GLbitfield
pattern GL_TEXTURE_DEFORMATION_SGIX :: GLenum
glDeformSGIX :: MonadIO m => GLbitfield -> m ()
glDeformationMap3dSGIX :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
glDeformationMap3fSGIX :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glLoadIdentityDeformationMapSGIX :: MonadIO m => GLbitfield -> m ()

module Graphics.GL.SGIX.PixelTexture

-- | Is the SGIX_pixel_texture extension supported?
glGetSGIXPixelTexture :: MonadIO m => m Bool

-- | Is the SGIX_pixel_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXPixelTexture in those cases instead.
gl_SGIX_pixel_texture :: Bool
pattern GL_PIXEL_TEX_GEN_MODE_SGIX :: GLenum
pattern GL_PIXEL_TEX_GEN_SGIX :: GLenum
glPixelTexGenSGIX :: MonadIO m => GLenum -> m ()

module Graphics.GL.SGIX.ListPriority

-- | Is the SGIX_list_priority extension supported?
glGetSGIXListPriority :: MonadIO m => m Bool

-- | Is the SGIX_list_priority extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXListPriority in those cases instead.
gl_SGIX_list_priority :: Bool
pattern GL_LIST_PRIORITY_SGIX :: GLenum
glGetListParameterfvSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetListParameterivSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glListParameterfSGIX :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()
glListParameterfvSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glListParameteriSGIX :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glListParameterivSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.SGIX.Instruments

-- | Is the SGIX_instruments extension supported?
glGetSGIXInstruments :: MonadIO m => m Bool

-- | Is the SGIX_instruments extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXInstruments in those cases instead.
gl_SGIX_instruments :: Bool
pattern GL_INSTRUMENT_BUFFER_POINTER_SGIX :: GLenum
pattern GL_INSTRUMENT_MEASUREMENTS_SGIX :: GLenum
glGetInstrumentsSGIX :: MonadIO m => m GLint
glInstrumentsBufferSGIX :: MonadIO m => GLsizei -> Ptr GLint -> m ()
glPollInstrumentsSGIX :: MonadIO m => Ptr GLint -> m GLint
glReadInstrumentsSGIX :: MonadIO m => GLint -> m ()
glStartInstrumentsSGIX :: MonadIO m => m ()
glStopInstrumentsSGIX :: MonadIO m => GLint -> m ()

module Graphics.GL.SGIX.IglooInterface

-- | Is the SGIX_igloo_interface extension supported?
glGetSGIXIglooInterface :: MonadIO m => m Bool

-- | Is the SGIX_igloo_interface extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXIglooInterface in those cases
--   instead.
gl_SGIX_igloo_interface :: Bool
glIglooInterfaceSGIX :: MonadIO m => GLenum -> Ptr a -> m ()

module Graphics.GL.SGIX.Framezoom

-- | Is the SGIX_framezoom extension supported?
glGetSGIXFramezoom :: MonadIO m => m Bool

-- | Is the SGIX_framezoom extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXFramezoom in those cases instead.
gl_SGIX_framezoom :: Bool
pattern GL_FRAMEZOOM_FACTOR_SGIX :: GLenum
pattern GL_FRAMEZOOM_SGIX :: GLenum
pattern GL_MAX_FRAMEZOOM_FACTOR_SGIX :: GLenum
glFrameZoomSGIX :: MonadIO m => GLint -> m ()

module Graphics.GL.SGIX.FragmentLighting

-- | Is the SGIX_fragment_lighting extension supported?
glGetSGIXFragmentLighting :: MonadIO m => m Bool

-- | Is the SGIX_fragment_lighting extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGIXFragmentLighting in those cases
--   instead.
gl_SGIX_fragment_lighting :: Bool
pattern GL_CURRENT_RASTER_NORMAL_SGIX :: GLenum
pattern GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX :: GLenum
pattern GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX :: GLenum
pattern GL_FRAGMENT_COLOR_MATERIAL_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT0_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT1_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT2_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT3_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT4_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT5_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT6_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT7_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHTING_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX :: GLenum
pattern GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX :: GLenum
pattern GL_LIGHT_ENV_MODE_SGIX :: GLenum
pattern GL_MAX_ACTIVE_LIGHTS_SGIX :: GLenum
pattern GL_MAX_FRAGMENT_LIGHTS_SGIX :: GLenum
glFragmentColorMaterialSGIX :: MonadIO m => GLenum -> GLenum -> m ()
glFragmentLightModelfSGIX :: MonadIO m => GLenum -> GLfloat -> m ()
glFragmentLightModelfvSGIX :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glFragmentLightModeliSGIX :: MonadIO m => GLenum -> GLint -> m ()
glFragmentLightModelivSGIX :: MonadIO m => GLenum -> Ptr GLint -> m ()
glFragmentLightfSGIX :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glFragmentLightfvSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glFragmentLightiSGIX :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glFragmentLightivSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glFragmentMaterialfSGIX :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glFragmentMaterialfvSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glFragmentMaterialiSGIX :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glFragmentMaterialivSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFragmentLightfvSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetFragmentLightivSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFragmentMaterialfvSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetFragmentMaterialivSGIX :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glLightEnviSGIX :: MonadIO m => GLenum -> GLint -> m ()

module Graphics.GL.SGIX.FlushRaster

-- | Is the SGIX_flush_raster extension supported?
glGetSGIXFlushRaster :: MonadIO m => m Bool

-- | Is the SGIX_flush_raster extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXFlushRaster in those cases instead.
gl_SGIX_flush_raster :: Bool
glFlushRasterSGIX :: MonadIO m => m ()

module Graphics.GL.SGIX.Async

-- | Is the SGIX_async extension supported?
glGetSGIXAsync :: MonadIO m => m Bool

-- | Is the SGIX_async extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIXAsync in those cases instead.
gl_SGIX_async :: Bool
pattern GL_ASYNC_MARKER_SGIX :: GLenum
glAsyncMarkerSGIX :: MonadIO m => GLuint -> m ()
glDeleteAsyncMarkersSGIX :: MonadIO m => GLuint -> GLsizei -> m ()
glFinishAsyncSGIX :: MonadIO m => Ptr GLuint -> m GLint
glGenAsyncMarkersSGIX :: MonadIO m => GLsizei -> m GLuint
glIsAsyncMarkerSGIX :: MonadIO m => GLuint -> m GLboolean
glPollAsyncSGIX :: MonadIO m => Ptr GLuint -> m GLint

-- | A convenience module, combining all raw modules containing SGIX
--   extensions.
module Graphics.GL.SGIX

module Graphics.GL.SGIS.TextureFilter4

-- | Is the SGIS_texture_filter4 extension supported?
glGetSGISTextureFilter4 :: MonadIO m => m Bool

-- | Is the SGIS_texture_filter4 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISTextureFilter4 in those cases
--   instead.
gl_SGIS_texture_filter4 :: Bool
pattern GL_FILTER4_SGIS :: GLenum
pattern GL_TEXTURE_FILTER4_SIZE_SGIS :: GLenum
glGetTexFilterFuncSGIS :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexFilterFuncSGIS :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()

module Graphics.GL.SGIS.TextureColorMask

-- | Is the SGIS_texture_color_mask extension supported?
glGetSGISTextureColorMask :: MonadIO m => m Bool

-- | Is the SGIS_texture_color_mask extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISTextureColorMask in those cases
--   instead.
gl_SGIS_texture_color_mask :: Bool
pattern GL_TEXTURE_COLOR_WRITEMASK_SGIS :: GLenum
glTextureColorMaskSGIS :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

module Graphics.GL.SGIS.Texture4D

-- | Is the SGIS_texture4D extension supported?
glGetSGISTexture4D :: MonadIO m => m Bool

-- | Is the SGIS_texture4D extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGISTexture4D in those cases instead.
gl_SGIS_texture4D :: Bool
pattern GL_MAX_4D_TEXTURE_SIZE_SGIS :: GLenum
pattern GL_PACK_IMAGE_DEPTH_SGIS :: GLenum
pattern GL_PACK_SKIP_VOLUMES_SGIS :: GLenum
pattern GL_PROXY_TEXTURE_4D_SGIS :: GLenum
pattern GL_TEXTURE_4DSIZE_SGIS :: GLenum
pattern GL_TEXTURE_4D_BINDING_SGIS :: GLenum
pattern GL_TEXTURE_4D_SGIS :: GLenum
pattern GL_TEXTURE_WRAP_Q_SGIS :: GLenum
pattern GL_UNPACK_IMAGE_DEPTH_SGIS :: GLenum
pattern GL_UNPACK_SKIP_VOLUMES_SGIS :: GLenum
glTexImage4DSGIS :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTexSubImage4DSGIS :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

module Graphics.GL.SGIS.SharpenTexture

-- | Is the SGIS_sharpen_texture extension supported?
glGetSGISSharpenTexture :: MonadIO m => m Bool

-- | Is the SGIS_sharpen_texture extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISSharpenTexture in those cases
--   instead.
gl_SGIS_sharpen_texture :: Bool
pattern GL_LINEAR_SHARPEN_ALPHA_SGIS :: GLenum
pattern GL_LINEAR_SHARPEN_COLOR_SGIS :: GLenum
pattern GL_LINEAR_SHARPEN_SGIS :: GLenum
pattern GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS :: GLenum
glGetSharpenTexFuncSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glSharpenTexFuncSGIS :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

module Graphics.GL.SGIS.PointParameters

-- | Is the SGIS_point_parameters extension supported?
glGetSGISPointParameters :: MonadIO m => m Bool

-- | Is the SGIS_point_parameters extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISPointParameters in those cases
--   instead.
gl_SGIS_point_parameters :: Bool
pattern GL_DISTANCE_ATTENUATION_SGIS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE_SGIS :: GLenum
pattern GL_POINT_SIZE_MAX_SGIS :: GLenum
pattern GL_POINT_SIZE_MIN_SGIS :: GLenum

-- | This command is an alias for glPointParameterf.
glPointParameterfSGIS :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for glPointParameterfv.
glPointParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

module Graphics.GL.SGIS.PixelTexture

-- | Is the SGIS_pixel_texture extension supported?
glGetSGISPixelTexture :: MonadIO m => m Bool

-- | Is the SGIS_pixel_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGISPixelTexture in those cases instead.
gl_SGIS_pixel_texture :: Bool
pattern GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS :: GLenum
pattern GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS :: GLenum
pattern GL_PIXEL_GROUP_COLOR_SGIS :: GLenum
pattern GL_PIXEL_TEXTURE_SGIS :: GLenum
glGetPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()
glPixelTexGenParameterfSGIS :: MonadIO m => GLenum -> GLfloat -> m ()
glPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPixelTexGenParameteriSGIS :: MonadIO m => GLenum -> GLint -> m ()
glPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()

module Graphics.GL.SGIS.Multisample

-- | Is the SGIS_multisample extension supported?
glGetSGISMultisample :: MonadIO m => m Bool

-- | Is the SGIS_multisample extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGISMultisample in those cases instead.
gl_SGIS_multisample :: Bool
pattern GL_1PASS_SGIS :: GLenum
pattern GL_2PASS_0_SGIS :: GLenum
pattern GL_2PASS_1_SGIS :: GLenum
pattern GL_4PASS_0_SGIS :: GLenum
pattern GL_4PASS_1_SGIS :: GLenum
pattern GL_4PASS_2_SGIS :: GLenum
pattern GL_4PASS_3_SGIS :: GLenum
pattern GL_MULTISAMPLE_SGIS :: GLenum
pattern GL_SAMPLES_SGIS :: GLenum
pattern GL_SAMPLE_ALPHA_TO_MASK_SGIS :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE_SGIS :: GLenum
pattern GL_SAMPLE_BUFFERS_SGIS :: GLenum
pattern GL_SAMPLE_MASK_INVERT_SGIS :: GLenum
pattern GL_SAMPLE_MASK_SGIS :: GLenum
pattern GL_SAMPLE_MASK_VALUE_SGIS :: GLenum
pattern GL_SAMPLE_PATTERN_SGIS :: GLenum

-- | This command is an alias for glSampleMaskEXT.
glSampleMaskSGIS :: MonadIO m => GLclampf -> GLboolean -> m ()

-- | This command is an alias for glSamplePatternEXT.
glSamplePatternSGIS :: MonadIO m => GLenum -> m ()

module Graphics.GL.SGIS.FogFunction

-- | Is the SGIS_fog_function extension supported?
glGetSGISFogFunction :: MonadIO m => m Bool

-- | Is the SGIS_fog_function extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGISFogFunction in those cases instead.
gl_SGIS_fog_function :: Bool
pattern GL_FOG_FUNC_POINTS_SGIS :: GLenum
pattern GL_FOG_FUNC_SGIS :: GLenum
pattern GL_MAX_FOG_FUNC_POINTS_SGIS :: GLenum
glFogFuncSGIS :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()
glGetFogFuncSGIS :: MonadIO m => Ptr GLfloat -> m ()

module Graphics.GL.SGIS.DetailTexture

-- | Is the SGIS_detail_texture extension supported?
glGetSGISDetailTexture :: MonadIO m => m Bool

-- | Is the SGIS_detail_texture extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetSGISDetailTexture in those cases
--   instead.
gl_SGIS_detail_texture :: Bool
pattern GL_DETAIL_TEXTURE_2D_BINDING_SGIS :: GLenum
pattern GL_DETAIL_TEXTURE_2D_SGIS :: GLenum
pattern GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS :: GLenum
pattern GL_DETAIL_TEXTURE_LEVEL_SGIS :: GLenum
pattern GL_DETAIL_TEXTURE_MODE_SGIS :: GLenum
pattern GL_LINEAR_DETAIL_ALPHA_SGIS :: GLenum
pattern GL_LINEAR_DETAIL_COLOR_SGIS :: GLenum
pattern GL_LINEAR_DETAIL_SGIS :: GLenum
glDetailTexFuncSGIS :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetDetailTexFuncSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | A convenience module, combining all raw modules containing SGIS
--   extensions.
module Graphics.GL.SGIS

module Graphics.GL.SGI.ColorTable

-- | Is the SGI_color_table extension supported?
glGetSGIColorTable :: MonadIO m => m Bool

-- | Is the SGI_color_table extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetSGIColorTable in those cases instead.
gl_SGI_color_table :: Bool
pattern GL_COLOR_TABLE_ALPHA_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_BIAS_SGI :: GLenum
pattern GL_COLOR_TABLE_BLUE_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_FORMAT_SGI :: GLenum
pattern GL_COLOR_TABLE_GREEN_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_INTENSITY_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_LUMINANCE_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_RED_SIZE_SGI :: GLenum
pattern GL_COLOR_TABLE_SCALE_SGI :: GLenum
pattern GL_COLOR_TABLE_SGI :: GLenum
pattern GL_COLOR_TABLE_WIDTH_SGI :: GLenum
pattern GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
pattern GL_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
pattern GL_PROXY_COLOR_TABLE_SGI :: GLenum
pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum

-- | This command is an alias for glColorTableParameterfv.
glColorTableParameterfvSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glColorTableParameteriv.
glColorTableParameterivSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glColorTable.
glColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glCopyColorTable.
glCopyColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()
glGetColorTableParameterfvSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetColorTableParameterivSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | A convenience module, combining all raw modules containing SGI
--   extensions.
module Graphics.GL.SGI

module Graphics.GL.PGI.MiscHints

-- | Is the PGI_misc_hints extension supported?
glGetPGIMiscHints :: MonadIO m => m Bool

-- | Is the PGI_misc_hints extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetPGIMiscHints in those cases instead.
gl_PGI_misc_hints :: Bool
pattern GL_ALLOW_DRAW_FRG_HINT_PGI :: GLenum
pattern GL_ALLOW_DRAW_MEM_HINT_PGI :: GLenum
pattern GL_ALLOW_DRAW_OBJ_HINT_PGI :: GLenum
pattern GL_ALLOW_DRAW_WIN_HINT_PGI :: GLenum
pattern GL_ALWAYS_FAST_HINT_PGI :: GLenum
pattern GL_ALWAYS_SOFT_HINT_PGI :: GLenum
pattern GL_BACK_NORMALS_HINT_PGI :: GLenum
pattern GL_CLIP_FAR_HINT_PGI :: GLenum
pattern GL_CLIP_NEAR_HINT_PGI :: GLenum
pattern GL_CONSERVE_MEMORY_HINT_PGI :: GLenum
pattern GL_FULL_STIPPLE_HINT_PGI :: GLenum
pattern GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI :: GLenum
pattern GL_NATIVE_GRAPHICS_END_HINT_PGI :: GLenum
pattern GL_NATIVE_GRAPHICS_HANDLE_PGI :: GLenum
pattern GL_PREFER_DOUBLEBUFFER_HINT_PGI :: GLenum
pattern GL_RECLAIM_MEMORY_HINT_PGI :: GLenum
pattern GL_STRICT_DEPTHFUNC_HINT_PGI :: GLenum
pattern GL_STRICT_LIGHTING_HINT_PGI :: GLenum
pattern GL_STRICT_SCISSOR_HINT_PGI :: GLenum
pattern GL_WIDE_LINE_HINT_PGI :: GLenum
glHintPGI :: MonadIO m => GLenum -> GLint -> m ()

-- | A convenience module, combining all raw modules containing PGI
--   extensions.
module Graphics.GL.PGI

module Graphics.GL.OVR.Multiview

-- | Is the OVR_multiview extension supported?
glGetOVRMultiview :: MonadIO m => m Bool

-- | Is the OVR_multiview extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetOVRMultiview in those cases instead.
gl_OVR_multiview :: Bool
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR :: GLenum
pattern GL_MAX_VIEWS_OVR :: GLenum
glFramebufferTextureMultiviewOVR :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> m ()

-- | A convenience module, combining all raw modules containing OVR
--   extensions.
module Graphics.GL.OVR

module Graphics.GL.OES.SinglePrecision

-- | Is the OES_single_precision extension supported?
glGetOESSinglePrecision :: MonadIO m => m Bool

-- | Is the OES_single_precision extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetOESSinglePrecision in those cases
--   instead.
gl_OES_single_precision :: Bool

-- | This command is an alias for glClearDepthf.
glClearDepthfOES :: MonadIO m => GLclampf -> m ()
glClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glDepthRangef.
glDepthRangefOES :: MonadIO m => GLclampf -> GLclampf -> m ()
glFrustumfOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glGetClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glOrthofOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

module Graphics.GL.OES.QueryMatrix

-- | Is the OES_query_matrix extension supported?
glGetOESQueryMatrix :: MonadIO m => m Bool

-- | Is the OES_query_matrix extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetOESQueryMatrix in those cases instead.
gl_OES_query_matrix :: Bool
glQueryMatrixxOES :: MonadIO m => Ptr GLfixed -> Ptr GLint -> m GLbitfield

module Graphics.GL.OES.FixedPoint

-- | Is the OES_fixed_point extension supported?
glGetOESFixedPoint :: MonadIO m => m Bool

-- | Is the OES_fixed_point extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetOESFixedPoint in those cases instead.
gl_OES_fixed_point :: Bool
pattern GL_FIXED_OES :: GLenum
glAccumxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glAlphaFuncxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glBitmapxOES :: MonadIO m => GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> m ()
glBlendColorxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glClearAccumxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glClearColorxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glClearDepthxOES :: MonadIO m => GLfixed -> m ()
glClipPlanexOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glColor3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glColor3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glColor4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glColor4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glConvolutionParameterxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glConvolutionParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glDepthRangexOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glEvalCoord1xOES :: MonadIO m => GLfixed -> m ()
glEvalCoord1xvOES :: MonadIO m => Ptr GLfixed -> m ()
glEvalCoord2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glEvalCoord2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glFeedbackBufferxOES :: MonadIO m => GLsizei -> GLenum -> Ptr GLfixed -> m ()
glFogxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glFogxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glFrustumxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glGetClipPlanexOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glGetConvolutionParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetFixedvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glGetHistogramParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetLightxOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetMapxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetMaterialxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glGetPixelMapxv :: MonadIO m => GLenum -> GLint -> Ptr GLfixed -> m ()
glGetTexEnvxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexGenxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexLevelParameterxvOES :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfixed -> m ()
glGetTexParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glIndexxOES :: MonadIO m => GLfixed -> m ()
glIndexxvOES :: MonadIO m => Ptr GLfixed -> m ()
glLightModelxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glLightModelxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glLightxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glLightxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glLineWidthxOES :: MonadIO m => GLfixed -> m ()
glLoadMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glLoadTransposeMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glMap1xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
glMap2xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()
glMapGrid1xOES :: MonadIO m => GLint -> GLfixed -> GLfixed -> m ()
glMapGrid2xOES :: MonadIO m => GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glMaterialxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glMaterialxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glMultMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glMultTransposeMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glMultiTexCoord1xOES :: MonadIO m => GLenum -> GLfixed -> m ()
glMultiTexCoord1xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord2xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> m ()
glMultiTexCoord2xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord3xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLfixed -> m ()
glMultiTexCoord3xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord4xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glMultiTexCoord4xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glNormal3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glNormal3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glOrthoxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glPassThroughxOES :: MonadIO m => GLfixed -> m ()
glPixelMapx :: MonadIO m => GLenum -> GLint -> Ptr GLfixed -> m ()
glPixelStorex :: MonadIO m => GLenum -> GLfixed -> m ()
glPixelTransferxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glPixelZoomxOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glPointParameterxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glPointSizexOES :: MonadIO m => GLfixed -> m ()
glPolygonOffsetxOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glPrioritizeTexturesxOES :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfixed -> m ()
glRasterPos2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glRasterPos2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glRasterPos3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glRasterPos3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glRasterPos4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glRasterPos4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glRectxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glRectxvOES :: MonadIO m => Ptr GLfixed -> Ptr GLfixed -> m ()
glRotatexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glScalexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glTexCoord1xOES :: MonadIO m => GLfixed -> m ()
glTexCoord1xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoord2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glTexCoord2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoord3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glTexCoord3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoord4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glTexCoord4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexEnvxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexEnvxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexGenxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexGenxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexParameterxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTranslatexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glVertex2xOES :: MonadIO m => GLfixed -> m ()
glVertex2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glVertex3xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glVertex3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glVertex4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glVertex4xvOES :: MonadIO m => Ptr GLfixed -> m ()

module Graphics.GL.OES.ByteCoordinates

-- | Is the OES_byte_coordinates extension supported?
glGetOESByteCoordinates :: MonadIO m => m Bool

-- | Is the OES_byte_coordinates extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetOESByteCoordinates in those cases
--   instead.
gl_OES_byte_coordinates :: Bool

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8
pattern GL_BYTE :: GLenum
glMultiTexCoord1bOES :: MonadIO m => GLenum -> GLbyte -> m ()
glMultiTexCoord1bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glMultiTexCoord2bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> m ()
glMultiTexCoord2bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glMultiTexCoord3bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> GLbyte -> m ()
glMultiTexCoord3bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glMultiTexCoord4bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glMultiTexCoord4bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glTexCoord1bOES :: MonadIO m => GLbyte -> m ()
glTexCoord1bvOES :: MonadIO m => Ptr GLbyte -> m ()
glTexCoord2bOES :: MonadIO m => GLbyte -> GLbyte -> m ()
glTexCoord2bvOES :: MonadIO m => Ptr GLbyte -> m ()
glTexCoord3bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glTexCoord3bvOES :: MonadIO m => Ptr GLbyte -> m ()
glTexCoord4bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glTexCoord4bvOES :: MonadIO m => Ptr GLbyte -> m ()
glVertex2bOES :: MonadIO m => GLbyte -> GLbyte -> m ()
glVertex2bvOES :: MonadIO m => Ptr GLbyte -> m ()
glVertex3bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glVertex3bvOES :: MonadIO m => Ptr GLbyte -> m ()
glVertex4bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glVertex4bvOES :: MonadIO m => Ptr GLbyte -> m ()

-- | A convenience module, combining all raw modules containing OES
--   extensions.
module Graphics.GL.OES

module Graphics.GL.NVX.ProgressFence

-- | Is the NVX_progress_fence extension supported?
glGetNVXProgressFence :: MonadIO m => m Bool

-- | Is the NVX_progress_fence extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVXProgressFence in those cases instead.
gl_NVX_progress_fence :: Bool
glClientWaitSemaphoreui64NVX :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()
glCreateProgressFenceNVX :: MonadIO m => m GLuint
glSignalSemaphoreui64NVX :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()
glWaitSemaphoreui64NVX :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()

module Graphics.GL.NVX.LinkedGPUMulticast

-- | Is the NVX_linked_gpu_multicast extension supported?
glGetNVXLinkedGPUMulticast :: MonadIO m => m Bool

-- | Is the NVX_linked_gpu_multicast extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVXLinkedGPUMulticast in those cases
--   instead.
gl_NVX_linked_gpu_multicast :: Bool
pattern GL_LGPU_SEPARATE_STORAGE_BIT_NVX :: GLbitfield
pattern GL_MAX_LGPU_GPUS_NVX :: GLenum
glLGPUCopyImageSubDataNVX :: MonadIO m => GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glLGPUInterlockNVX :: MonadIO m => m ()
glLGPUNamedBufferSubDataNVX :: MonadIO m => GLbitfield -> GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

module Graphics.GL.NVX.GPUMulticast2

-- | Is the NVX_gpu_multicast2 extension supported?
glGetNVXGPUMulticast2 :: MonadIO m => m Bool

-- | Is the NVX_gpu_multicast2 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVXGPUMulticast2 in those cases instead.
gl_NVX_gpu_multicast2 :: Bool
pattern GL_UPLOAD_GPU_MASK_NVX :: GLenum
glAsyncCopyBufferSubDataNVX :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLuint64 -> GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m GLuint
glAsyncCopyImageSubDataNVX :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLuint64 -> GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m GLuint
glMulticastScissorArrayvNVX :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLint -> m ()
glMulticastViewportArrayvNVX :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glMulticastViewportPositionWScaleNVX :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> m ()
glUploadGpuMaskNVX :: MonadIO m => GLbitfield -> m ()

module Graphics.GL.NVX.ConditionalRender

-- | Is the NVX_conditional_render extension supported?
glGetNVXConditionalRender :: MonadIO m => m Bool

-- | Is the NVX_conditional_render extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVXConditionalRender in those cases
--   instead.
gl_NVX_conditional_render :: Bool
glBeginConditionalRenderNVX :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glEndConditionalRender.
glEndConditionalRenderNVX :: MonadIO m => m ()

-- | A convenience module, combining all raw modules containing NVX
--   extensions.
module Graphics.GL.NVX

module Graphics.GL.NV.ViewportSwizzle

-- | Is the NV_viewport_swizzle extension supported?
glGetNVViewportSwizzle :: MonadIO m => m Bool

-- | Is the NV_viewport_swizzle extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVViewportSwizzle in those cases
--   instead.
gl_NV_viewport_swizzle :: Bool
pattern GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_W_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_X_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_Y_NV :: GLenum
pattern GL_VIEWPORT_SWIZZLE_Z_NV :: GLenum
glViewportSwizzleNV :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

module Graphics.GL.NV.VideoCapture

-- | Is the NV_video_capture extension supported?
glGetNVVideoCapture :: MonadIO m => m Bool

-- | Is the NV_video_capture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVVideoCapture in those cases instead.
gl_NV_video_capture :: Bool
pattern GL_FAILURE_NV :: GLenum
pattern GL_FIELD_LOWER_NV :: GLenum
pattern GL_FIELD_UPPER_NV :: GLenum
pattern GL_LAST_VIDEO_CAPTURE_STATUS_NV :: GLenum
pattern GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV :: GLenum
pattern GL_NUM_VIDEO_CAPTURE_STREAMS_NV :: GLenum
pattern GL_PARTIAL_SUCCESS_NV :: GLenum
pattern GL_SUCCESS_NV :: GLenum
pattern GL_VIDEO_BUFFER_BINDING_NV :: GLenum
pattern GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV :: GLenum
pattern GL_VIDEO_BUFFER_NV :: GLenum
pattern GL_VIDEO_BUFFER_PITCH_NV :: GLenum
pattern GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV :: GLenum
pattern GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV :: GLenum
pattern GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV :: GLenum
pattern GL_VIDEO_CAPTURE_FRAME_WIDTH_NV :: GLenum
pattern GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV :: GLenum
pattern GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV :: GLenum
pattern GL_VIDEO_COLOR_CONVERSION_MATRIX_NV :: GLenum
pattern GL_VIDEO_COLOR_CONVERSION_MAX_NV :: GLenum
pattern GL_VIDEO_COLOR_CONVERSION_MIN_NV :: GLenum
pattern GL_VIDEO_COLOR_CONVERSION_OFFSET_NV :: GLenum
pattern GL_YCBAYCR8A_4224_NV :: GLenum
pattern GL_YCBYCR8_422_NV :: GLenum
pattern GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV :: GLenum
pattern GL_Z4Y12Z4CB12Z4CR12_444_NV :: GLenum
pattern GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV :: GLenum
pattern GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV :: GLenum
pattern GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV :: GLenum
glBeginVideoCaptureNV :: MonadIO m => GLuint -> m ()
glBindVideoCaptureStreamBufferNV :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptrARB -> m ()
glBindVideoCaptureStreamTextureNV :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> m ()
glEndVideoCaptureNV :: MonadIO m => GLuint -> m ()
glGetVideoCaptureStreamdvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVideoCaptureStreamfvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVideoCaptureStreamivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetVideoCaptureivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glVideoCaptureNV :: MonadIO m => GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> m GLenum
glVideoCaptureStreamParameterdvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glVideoCaptureStreamParameterfvNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glVideoCaptureStreamParameterivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.NV.VertexProgram4

-- | Is the NV_vertex_program4 extension supported?
glGetNVVertexProgram4 :: MonadIO m => m Bool

-- | Is the NV_vertex_program4 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVVertexProgram4 in those cases instead.
gl_NV_vertex_program4 :: Bool
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV :: GLenum

-- | This command is an alias for glGetVertexAttribIiv.
glGetVertexAttribIivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetVertexAttribIuiv.
glGetVertexAttribIuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is glVertexAttribI1ivEXT.
--   This command is an alias for glVertexAttribI1i.
glVertexAttribI1iEXT :: MonadIO m => GLuint -> GLint -> m ()

-- | This command is an alias for glVertexAttribI1iv.
glVertexAttribI1ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttribI1uivEXT. This command is an alias for
--   glVertexAttribI1ui.
glVertexAttribI1uiEXT :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribI1uiv.
glVertexAttribI1uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is glVertexAttribI2ivEXT.
--   This command is an alias for glVertexAttribI2i.
glVertexAttribI2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for glVertexAttribI2iv.
glVertexAttribI2ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttribI2uivEXT. This command is an alias for
--   glVertexAttribI2ui.
glVertexAttribI2uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribI2uiv.
glVertexAttribI2uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is glVertexAttribI3ivEXT.
--   This command is an alias for glVertexAttribI3i.
glVertexAttribI3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glVertexAttribI3iv.
glVertexAttribI3ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttribI3uivEXT. This command is an alias for
--   glVertexAttribI3ui.
glVertexAttribI3uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribI3uiv.
glVertexAttribI3uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttribI4bv.
glVertexAttribI4bvEXT :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glVertexAttribI4ivEXT.
--   This command is an alias for glVertexAttribI4i.
glVertexAttribI4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glVertexAttribI4iv.
glVertexAttribI4ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for glVertexAttribI4sv.
glVertexAttribI4svEXT :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttribI4ubv.
glVertexAttribI4ubvEXT :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | The vector equivalent of this command is
--   glVertexAttribI4uivEXT. This command is an alias for
--   glVertexAttribI4ui.
glVertexAttribI4uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glVertexAttribI4uiv.
glVertexAttribI4uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttribI4usv.
glVertexAttribI4usvEXT :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for glVertexAttribIPointer.
glVertexAttribIPointerEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.NV.VertexProgram

-- | Is the NV_vertex_program extension supported?
glGetNVVertexProgram :: MonadIO m => m Bool

-- | Is the NV_vertex_program extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVVertexProgram in those cases instead.
gl_NV_vertex_program :: Bool
pattern GL_ATTRIB_ARRAY_POINTER_NV :: GLenum
pattern GL_ATTRIB_ARRAY_SIZE_NV :: GLenum
pattern GL_ATTRIB_ARRAY_STRIDE_NV :: GLenum
pattern GL_ATTRIB_ARRAY_TYPE_NV :: GLenum
pattern GL_CURRENT_ATTRIB_NV :: GLenum
pattern GL_CURRENT_MATRIX_NV :: GLenum
pattern GL_CURRENT_MATRIX_STACK_DEPTH_NV :: GLenum
pattern GL_IDENTITY_NV :: GLenum
pattern GL_INVERSE_NV :: GLenum
pattern GL_INVERSE_TRANSPOSE_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB0_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB10_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB11_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB12_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB13_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB14_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB15_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB1_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB2_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB3_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB4_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB5_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB6_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB7_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB8_4_NV :: GLenum
pattern GL_MAP1_VERTEX_ATTRIB9_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB0_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB10_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB11_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB12_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB13_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB14_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB15_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB1_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB2_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB3_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB4_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB5_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB6_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB7_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB8_4_NV :: GLenum
pattern GL_MAP2_VERTEX_ATTRIB9_4_NV :: GLenum
pattern GL_MATRIX0_NV :: GLenum
pattern GL_MATRIX1_NV :: GLenum
pattern GL_MATRIX2_NV :: GLenum
pattern GL_MATRIX3_NV :: GLenum
pattern GL_MATRIX4_NV :: GLenum
pattern GL_MATRIX5_NV :: GLenum
pattern GL_MATRIX6_NV :: GLenum
pattern GL_MATRIX7_NV :: GLenum
pattern GL_MAX_TRACK_MATRICES_NV :: GLenum
pattern GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV :: GLenum
pattern GL_MODELVIEW_PROJECTION_NV :: GLenum
pattern GL_PROGRAM_ERROR_POSITION_NV :: GLenum
pattern GL_PROGRAM_LENGTH_NV :: GLenum
pattern GL_PROGRAM_PARAMETER_NV :: GLenum
pattern GL_PROGRAM_RESIDENT_NV :: GLenum
pattern GL_PROGRAM_STRING_NV :: GLenum
pattern GL_PROGRAM_TARGET_NV :: GLenum
pattern GL_TRACK_MATRIX_NV :: GLenum
pattern GL_TRACK_MATRIX_TRANSFORM_NV :: GLenum
pattern GL_TRANSPOSE_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY0_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY10_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY11_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY12_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY13_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY14_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY15_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY1_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY2_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY3_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY4_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY5_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY6_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY7_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY8_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY9_NV :: GLenum
pattern GL_VERTEX_PROGRAM_BINDING_NV :: GLenum
pattern GL_VERTEX_PROGRAM_NV :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE_NV :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE_NV :: GLenum
pattern GL_VERTEX_STATE_PROGRAM_NV :: GLenum
glAreProgramsResidentNV :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | This command is an alias for glBindProgramARB.
glBindProgramNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glDeleteProgramsARB.
glDeleteProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glExecuteProgramNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glGenProgramsARB.
glGenProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetProgramParameterdvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetProgramParameterfvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetProgramStringNV :: MonadIO m => GLuint -> GLenum -> Ptr GLubyte -> m ()
glGetProgramivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetTrackMatrixivNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetVertexAttribPointerv.
glGetVertexAttribPointervNV :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetVertexAttribdv.
glGetVertexAttribdvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetVertexAttribfv.
glGetVertexAttribfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetVertexAttribiv.
glGetVertexAttribivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glIsProgramARB.
glIsProgramNV :: MonadIO m => GLuint -> m GLboolean
glLoadProgramNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> m ()

-- | The vector equivalent of this command is
--   glProgramParameter4dvNV.
glProgramParameter4dNV :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramParameter4dvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramParameter4fvNV.
glProgramParameter4fNV :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramParameter4fvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glProgramParameters4dvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
glProgramParameters4fvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glRequestResidentProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glTrackMatrixNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLenum -> m ()

-- | The vector equivalent of this command is glVertexAttrib1dvNV.
--   This command is an alias for glVertexAttrib1d.
glVertexAttrib1dNV :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib1dv.
glVertexAttrib1dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib1fvNV.
--   This command is an alias for glVertexAttrib1f.
glVertexAttrib1fNV :: MonadIO m => GLuint -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib1fv.
glVertexAttrib1fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib1svNV.
--   This command is an alias for glVertexAttrib1s.
glVertexAttrib1sNV :: MonadIO m => GLuint -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib1sv.
glVertexAttrib1svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib2dvNV.
--   This command is an alias for glVertexAttrib2d.
glVertexAttrib2dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib2dv.
glVertexAttrib2dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib2fvNV.
--   This command is an alias for glVertexAttrib2f.
glVertexAttrib2fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib2fv.
glVertexAttrib2fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib2svNV.
--   This command is an alias for glVertexAttrib2s.
glVertexAttrib2sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib2sv.
glVertexAttrib2svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib3dvNV.
--   This command is an alias for glVertexAttrib3d.
glVertexAttrib3dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib3dv.
glVertexAttrib3dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib3fvNV.
--   This command is an alias for glVertexAttrib3f.
glVertexAttrib3fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib3fv.
glVertexAttrib3fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib3svNV.
--   This command is an alias for glVertexAttrib3s.
glVertexAttrib3sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib3sv.
glVertexAttrib3svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib4dvNV.
--   This command is an alias for glVertexAttrib4d.
glVertexAttrib4dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib4dv.
glVertexAttrib4dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib4fvNV.
--   This command is an alias for glVertexAttrib4f.
glVertexAttrib4fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib4fv.
glVertexAttrib4fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib4svNV.
--   This command is an alias for glVertexAttrib4s.
glVertexAttrib4sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib4sv.
glVertexAttrib4svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib4ubvNV.
--   This command is an alias for glVertexAttrib4Nub.
glVertexAttrib4ubNV :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4Nubv.
glVertexAttrib4ubvNV :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVertexAttribPointerNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glVertexAttribs1dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs1fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs1svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs2dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs2fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs2svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs3dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs3fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs3svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs4dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()
glVertexAttribs4fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glVertexAttribs4svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs4ubvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> m ()

module Graphics.GL.NV.VertexBufferUnifiedMemory

-- | Is the NV_vertex_buffer_unified_memory extension supported?
glGetNVVertexBufferUnifiedMemory :: MonadIO m => m Bool

-- | Is the NV_vertex_buffer_unified_memory extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVVertexBufferUnifiedMemory in those cases instead.
gl_NV_vertex_buffer_unified_memory :: Bool
pattern GL_COLOR_ARRAY_ADDRESS_NV :: GLenum
pattern GL_COLOR_ARRAY_LENGTH_NV :: GLenum
pattern GL_DRAW_INDIRECT_ADDRESS_NV :: GLenum
pattern GL_DRAW_INDIRECT_LENGTH_NV :: GLenum
pattern GL_DRAW_INDIRECT_UNIFIED_NV :: GLenum
pattern GL_EDGE_FLAG_ARRAY_ADDRESS_NV :: GLenum
pattern GL_EDGE_FLAG_ARRAY_LENGTH_NV :: GLenum
pattern GL_ELEMENT_ARRAY_ADDRESS_NV :: GLenum
pattern GL_ELEMENT_ARRAY_LENGTH_NV :: GLenum
pattern GL_ELEMENT_ARRAY_UNIFIED_NV :: GLenum
pattern GL_FOG_COORD_ARRAY_ADDRESS_NV :: GLenum
pattern GL_FOG_COORD_ARRAY_LENGTH_NV :: GLenum
pattern GL_INDEX_ARRAY_ADDRESS_NV :: GLenum
pattern GL_INDEX_ARRAY_LENGTH_NV :: GLenum
pattern GL_NORMAL_ARRAY_ADDRESS_NV :: GLenum
pattern GL_NORMAL_ARRAY_LENGTH_NV :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_LENGTH_NV :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_ADDRESS_NV :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_LENGTH_NV :: GLenum
pattern GL_VERTEX_ARRAY_ADDRESS_NV :: GLenum
pattern GL_VERTEX_ARRAY_LENGTH_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV :: GLenum
glBufferAddressRangeNV :: MonadIO m => GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> m ()
glColorFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glEdgeFlagFormatNV :: MonadIO m => GLsizei -> m ()
glFogCoordFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glGetIntegerui64i_vNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint64EXT -> m ()
glIndexFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glNormalFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glSecondaryColorFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glTexCoordFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glVertexAttribFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> m ()
glVertexAttribIFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> m ()
glVertexFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()

module Graphics.GL.NV.VertexAttribInteger64Bit

-- | Is the NV_vertex_attrib_integer_64bit extension supported?
glGetNVVertexAttribInteger64Bit :: MonadIO m => m Bool

-- | Is the NV_vertex_attrib_integer_64bit extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVVertexAttribInteger64Bit in
--   those cases instead.
gl_NV_vertex_attrib_integer_64bit :: Bool
pattern GL_INT64_NV :: GLenum
pattern GL_UNSIGNED_INT64_NV :: GLenum
glGetVertexAttribLi64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint64EXT -> m ()
glGetVertexAttribLui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glVertexAttribL1i64NV :: MonadIO m => GLuint -> GLint64EXT -> m ()
glVertexAttribL1i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL1ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> m ()
glVertexAttribL1ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribL2i64NV :: MonadIO m => GLuint -> GLint64EXT -> GLint64EXT -> m ()
glVertexAttribL2i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL2ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint64EXT -> m ()
glVertexAttribL2ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribL3i64NV :: MonadIO m => GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glVertexAttribL3i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL3ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glVertexAttribL3ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribL4i64NV :: MonadIO m => GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glVertexAttribL4i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL4ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glVertexAttribL4ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribLFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> m ()

module Graphics.GL.NV.VertexArrayRange

-- | Is the NV_vertex_array_range extension supported?
glGetNVVertexArrayRange :: MonadIO m => m Bool

-- | Is the NV_vertex_array_range extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVVertexArrayRange in those cases
--   instead.
gl_NV_vertex_array_range :: Bool
pattern GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_LENGTH_NV :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_NV :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_POINTER_NV :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_VALID_NV :: GLenum
glFlushVertexArrayRangeNV :: MonadIO m => m ()
glVertexArrayRangeNV :: MonadIO m => GLsizei -> Ptr a -> m ()

module Graphics.GL.NV.VDPAUInterop2

-- | Is the NV_vdpau_interop2 extension supported?
glGetNVVDPAUInterop2 :: MonadIO m => m Bool

-- | Is the NV_vdpau_interop2 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVVDPAUInterop2 in those cases instead.
gl_NV_vdpau_interop2 :: Bool
glVDPAURegisterVideoSurfaceWithPictureStructureNV :: MonadIO m => Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m GLvdpauSurfaceNV

module Graphics.GL.NV.VDPAUInterop

-- | Is the NV_vdpau_interop extension supported?
glGetNVVDPAUInterop :: MonadIO m => m Bool

-- | Is the NV_vdpau_interop extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVVDPAUInterop in those cases instead.
gl_NV_vdpau_interop :: Bool
pattern GL_SURFACE_MAPPED_NV :: GLenum
pattern GL_SURFACE_REGISTERED_NV :: GLenum
pattern GL_SURFACE_STATE_NV :: GLenum
pattern GL_WRITE_DISCARD_NV :: GLenum
glVDPAUFiniNV :: MonadIO m => m ()
glVDPAUGetSurfaceivNV :: MonadIO m => GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
glVDPAUInitNV :: MonadIO m => Ptr a -> Ptr b -> m ()
glVDPAUIsSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m GLboolean
glVDPAUMapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
glVDPAURegisterOutputSurfaceNV :: MonadIO m => Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> m GLvdpauSurfaceNV
glVDPAURegisterVideoSurfaceNV :: MonadIO m => Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> m GLvdpauSurfaceNV
glVDPAUSurfaceAccessNV :: MonadIO m => GLvdpauSurfaceNV -> GLenum -> m ()
glVDPAUUnmapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
glVDPAUUnregisterSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m ()

module Graphics.GL.NV.TransformFeedback2

-- | Is the NV_transform_feedback2 extension supported?
glGetNVTransformFeedback2 :: MonadIO m => m Bool

-- | Is the NV_transform_feedback2 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVTransformFeedback2 in those cases
--   instead.
gl_NV_transform_feedback2 :: Bool
pattern GL_TRANSFORM_FEEDBACK_BINDING_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_NV :: GLenum
glBindTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glDeleteTransformFeedbacks.
glDeleteTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glDrawTransformFeedback.
glDrawTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glGenTransformFeedbacks.
glGenTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glIsTransformFeedback.
glIsTransformFeedbackNV :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glPauseTransformFeedback.
glPauseTransformFeedbackNV :: MonadIO m => m ()

-- | This command is an alias for glResumeTransformFeedback.
glResumeTransformFeedbackNV :: MonadIO m => m ()

module Graphics.GL.NV.TransformFeedback

-- | Is the NV_transform_feedback extension supported?
glGetNVTransformFeedback :: MonadIO m => m Bool

-- | Is the NV_transform_feedback extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVTransformFeedback in those cases
--   instead.
gl_NV_transform_feedback :: Bool
pattern GL_ACTIVE_VARYINGS_NV :: GLenum
pattern GL_ACTIVE_VARYING_MAX_LENGTH_NV :: GLenum
pattern GL_BACK_PRIMARY_COLOR_NV :: GLenum
pattern GL_BACK_SECONDARY_COLOR_NV :: GLenum
pattern GL_CLIP_DISTANCE_NV :: GLenum
pattern GL_GENERIC_ATTRIB_NV :: GLenum
pattern GL_INTERLEAVED_ATTRIBS_NV :: GLenum
pattern GL_LAYER_NV :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV :: GLenum
pattern GL_NEXT_BUFFER_NV :: GLenum
pattern GL_PRIMITIVES_GENERATED_NV :: GLenum
pattern GL_PRIMITIVE_ID_NV :: GLenum
pattern GL_RASTERIZER_DISCARD_NV :: GLenum
pattern GL_SEPARATE_ATTRIBS_NV :: GLenum
pattern GL_SKIP_COMPONENTS1_NV :: GLenum
pattern GL_SKIP_COMPONENTS2_NV :: GLenum
pattern GL_SKIP_COMPONENTS3_NV :: GLenum
pattern GL_SKIP_COMPONENTS4_NV :: GLenum
pattern GL_TEXTURE_COORD_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ATTRIBS_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_RECORD_NV :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS_NV :: GLenum
pattern GL_VERTEX_ID_NV :: GLenum
glActiveVaryingNV :: MonadIO m => GLuint -> Ptr GLchar -> m ()

-- | This command is an alias for glBeginTransformFeedback.
glBeginTransformFeedbackNV :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glBindBufferBase.
glBindBufferBaseNV :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | This command is an alias for glBindBufferOffsetEXT.
glBindBufferOffsetNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> m ()

-- | This command is an alias for glBindBufferRange.
glBindBufferRangeNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | This command is an alias for glEndTransformFeedback.
glEndTransformFeedbackNV :: MonadIO m => m ()
glGetActiveVaryingNV :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()
glGetTransformFeedbackVaryingNV :: MonadIO m => GLuint -> GLuint -> Ptr GLint -> m ()
glGetVaryingLocationNV :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
glTransformFeedbackAttribsNV :: MonadIO m => GLsizei -> Ptr GLint -> GLenum -> m ()
glTransformFeedbackStreamAttribsNV :: MonadIO m => GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> m ()
glTransformFeedbackVaryingsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> GLenum -> m ()

module Graphics.GL.NV.TextureMultisample

-- | Is the NV_texture_multisample extension supported?
glGetNVTextureMultisample :: MonadIO m => m Bool

-- | Is the NV_texture_multisample extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVTextureMultisample in those cases
--   instead.
gl_NV_texture_multisample :: Bool
pattern GL_TEXTURE_COLOR_SAMPLES_NV :: GLenum
pattern GL_TEXTURE_COVERAGE_SAMPLES_NV :: GLenum
glTexImage2DMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexImage3DMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage2DMultisampleCoverageNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage2DMultisampleNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage3DMultisampleCoverageNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage3DMultisampleNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

module Graphics.GL.NV.TextureBarrier

-- | Is the NV_texture_barrier extension supported?
glGetNVTextureBarrier :: MonadIO m => m Bool

-- | Is the NV_texture_barrier extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVTextureBarrier in those cases instead.
gl_NV_texture_barrier :: Bool
glTextureBarrierNV :: MonadIO m => m ()

module Graphics.GL.NV.ShadingRateImage

-- | Is the NV_shading_rate_image extension supported?
glGetNVShadingRateImage :: MonadIO m => m Bool

-- | Is the NV_shading_rate_image extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVShadingRateImage in those cases
--   instead.
gl_NV_shading_rate_image :: Bool
pattern GL_MAX_COARSE_FRAGMENT_SAMPLES_NV :: GLenum
pattern GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV :: GLenum
pattern GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_BINDING_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV :: GLenum
pattern GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV :: GLenum
pattern GL_SHADING_RATE_NO_INVOCATIONS_NV :: GLenum
pattern GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV :: GLenum
pattern GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV :: GLenum
pattern GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV :: GLenum
glBindShadingRateImageNV :: MonadIO m => GLuint -> m ()
glGetShadingRateImagePaletteNV :: MonadIO m => GLuint -> GLuint -> Ptr GLenum -> m ()
glGetShadingRateSampleLocationivNV :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLint -> m ()
glShadingRateImageBarrierNV :: MonadIO m => GLboolean -> m ()
glShadingRateImagePaletteNV :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLenum -> m ()
glShadingRateSampleOrderCustomNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glShadingRateSampleOrderNV :: MonadIO m => GLenum -> m ()

module Graphics.GL.NV.ShaderBufferLoad

-- | Is the NV_shader_buffer_load extension supported?
glGetNVShaderBufferLoad :: MonadIO m => m Bool

-- | Is the NV_shader_buffer_load extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVShaderBufferLoad in those cases
--   instead.
gl_NV_shader_buffer_load :: Bool
pattern GL_BUFFER_GPU_ADDRESS_NV :: GLenum
pattern GL_GPU_ADDRESS_NV :: GLenum
pattern GL_MAX_SHADER_BUFFER_ADDRESS_NV :: GLenum
glGetBufferParameterui64vNV :: MonadIO m => GLenum -> GLenum -> Ptr GLuint64EXT -> m ()
glGetIntegerui64vNV :: MonadIO m => GLenum -> Ptr GLuint64EXT -> m ()
glGetNamedBufferParameterui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glGetUniformui64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLuint64EXT -> m ()
glIsBufferResidentNV :: MonadIO m => GLenum -> m GLboolean
glIsNamedBufferResidentNV :: MonadIO m => GLuint -> m GLboolean
glMakeBufferNonResidentNV :: MonadIO m => GLenum -> m ()
glMakeBufferResidentNV :: MonadIO m => GLenum -> GLenum -> m ()
glMakeNamedBufferNonResidentNV :: MonadIO m => GLuint -> m ()
glMakeNamedBufferResidentNV :: MonadIO m => GLuint -> GLenum -> m ()
glProgramUniformui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniformui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniformui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniformui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

module Graphics.GL.NV.ScissorExclusive

-- | Is the NV_scissor_exclusive extension supported?
glGetNVScissorExclusive :: MonadIO m => m Bool

-- | Is the NV_scissor_exclusive extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVScissorExclusive in those cases
--   instead.
gl_NV_scissor_exclusive :: Bool
pattern GL_SCISSOR_BOX_EXCLUSIVE_NV :: GLenum
pattern GL_SCISSOR_TEST_EXCLUSIVE_NV :: GLenum
glScissorExclusiveArrayvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()
glScissorExclusiveNV :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

module Graphics.GL.NV.SampleLocations

-- | Is the NV_sample_locations extension supported?
glGetNVSampleLocations :: MonadIO m => m Bool

-- | Is the NV_sample_locations extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVSampleLocations in those cases
--   instead.
gl_NV_sample_locations :: Bool
pattern GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV :: GLenum
pattern GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV :: GLenum
pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV :: GLenum
pattern GL_SAMPLE_LOCATION_NV :: GLenum
pattern GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV :: GLenum
pattern GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV :: GLenum
pattern GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV :: GLenum
glFramebufferSampleLocationsfvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedFramebufferSampleLocationsfvNV :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glResolveDepthValuesNV :: MonadIO m => m ()

module Graphics.GL.NV.RegisterCombiners2

-- | Is the NV_register_combiners2 extension supported?
glGetNVRegisterCombiners2 :: MonadIO m => m Bool

-- | Is the NV_register_combiners2 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVRegisterCombiners2 in those cases
--   instead.
gl_NV_register_combiners2 :: Bool
pattern GL_PER_STAGE_CONSTANTS_NV :: GLenum
glCombinerStageParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetCombinerStageParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

module Graphics.GL.NV.RegisterCombiners

-- | Is the NV_register_combiners extension supported?
glGetNVRegisterCombiners :: MonadIO m => m Bool

-- | Is the NV_register_combiners extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVRegisterCombiners in those cases
--   instead.
gl_NV_register_combiners :: Bool
pattern GL_BIAS_BY_NEGATIVE_ONE_HALF_NV :: GLenum
pattern GL_COLOR_SUM_CLAMP_NV :: GLenum
pattern GL_COMBINER0_NV :: GLenum
pattern GL_COMBINER1_NV :: GLenum
pattern GL_COMBINER2_NV :: GLenum
pattern GL_COMBINER3_NV :: GLenum
pattern GL_COMBINER4_NV :: GLenum
pattern GL_COMBINER5_NV :: GLenum
pattern GL_COMBINER6_NV :: GLenum
pattern GL_COMBINER7_NV :: GLenum
pattern GL_COMBINER_AB_DOT_PRODUCT_NV :: GLenum
pattern GL_COMBINER_AB_OUTPUT_NV :: GLenum
pattern GL_COMBINER_BIAS_NV :: GLenum
pattern GL_COMBINER_CD_DOT_PRODUCT_NV :: GLenum
pattern GL_COMBINER_CD_OUTPUT_NV :: GLenum
pattern GL_COMBINER_COMPONENT_USAGE_NV :: GLenum
pattern GL_COMBINER_INPUT_NV :: GLenum
pattern GL_COMBINER_MAPPING_NV :: GLenum
pattern GL_COMBINER_MUX_SUM_NV :: GLenum
pattern GL_COMBINER_SCALE_NV :: GLenum
pattern GL_COMBINER_SUM_OUTPUT_NV :: GLenum
pattern GL_CONSTANT_COLOR0_NV :: GLenum
pattern GL_CONSTANT_COLOR1_NV :: GLenum
pattern GL_DISCARD_NV :: GLenum
pattern GL_EXPAND_NEGATE_NV :: GLenum
pattern GL_EXPAND_NORMAL_NV :: GLenum
pattern GL_E_TIMES_F_NV :: GLenum
pattern GL_FOG :: GLenum
pattern GL_HALF_BIAS_NEGATE_NV :: GLenum
pattern GL_HALF_BIAS_NORMAL_NV :: GLenum
pattern GL_MAX_GENERAL_COMBINERS_NV :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NUM_GENERAL_COMBINERS_NV :: GLenum
pattern GL_PRIMARY_COLOR_NV :: GLenum
pattern GL_REGISTER_COMBINERS_NV :: GLenum
pattern GL_SCALE_BY_FOUR_NV :: GLenum
pattern GL_SCALE_BY_ONE_HALF_NV :: GLenum
pattern GL_SCALE_BY_TWO_NV :: GLenum
pattern GL_SECONDARY_COLOR_NV :: GLenum
pattern GL_SIGNED_IDENTITY_NV :: GLenum
pattern GL_SIGNED_NEGATE_NV :: GLenum
pattern GL_SPARE0_NV :: GLenum
pattern GL_SPARE0_PLUS_SECONDARY_COLOR_NV :: GLenum
pattern GL_SPARE1_NV :: GLenum
pattern GL_TEXTURE0_ARB :: GLenum
pattern GL_TEXTURE1_ARB :: GLenum
pattern GL_UNSIGNED_IDENTITY_NV :: GLenum
pattern GL_UNSIGNED_INVERT_NV :: GLenum
pattern GL_VARIABLE_A_NV :: GLenum
pattern GL_VARIABLE_B_NV :: GLenum
pattern GL_VARIABLE_C_NV :: GLenum
pattern GL_VARIABLE_D_NV :: GLenum
pattern GL_VARIABLE_E_NV :: GLenum
pattern GL_VARIABLE_F_NV :: GLenum
pattern GL_VARIABLE_G_NV :: GLenum
pattern GL_ZERO :: GLenum
glCombinerInputNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glCombinerOutputNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> m ()
glCombinerParameterfNV :: MonadIO m => GLenum -> GLfloat -> m ()
glCombinerParameterfvNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glCombinerParameteriNV :: MonadIO m => GLenum -> GLint -> m ()
glCombinerParameterivNV :: MonadIO m => GLenum -> Ptr GLint -> m ()
glFinalCombinerInputNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()
glGetCombinerInputParameterfvNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetCombinerInputParameterivNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetCombinerOutputParameterfvNV :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetCombinerOutputParameterivNV :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetFinalCombinerInputParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetFinalCombinerInputParameterivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.NV.QueryResourceTag

-- | Is the NV_query_resource_tag extension supported?
glGetNVQueryResourceTag :: MonadIO m => m Bool

-- | Is the NV_query_resource_tag extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVQueryResourceTag in those cases
--   instead.
gl_NV_query_resource_tag :: Bool
glDeleteQueryResourceTagNV :: MonadIO m => GLsizei -> Ptr GLint -> m ()
glGenQueryResourceTagNV :: MonadIO m => GLsizei -> Ptr GLint -> m ()
glQueryResourceTagNV :: MonadIO m => GLint -> Ptr GLchar -> m ()

module Graphics.GL.NV.QueryResource

-- | Is the NV_query_resource extension supported?
glGetNVQueryResource :: MonadIO m => m Bool

-- | Is the NV_query_resource extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVQueryResource in those cases instead.
gl_NV_query_resource :: Bool
pattern GL_QUERY_RESOURCE_BUFFEROBJECT_NV :: GLenum
pattern GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV :: GLenum
pattern GL_QUERY_RESOURCE_RENDERBUFFER_NV :: GLenum
pattern GL_QUERY_RESOURCE_SYS_RESERVED_NV :: GLenum
pattern GL_QUERY_RESOURCE_TEXTURE_NV :: GLenum
pattern GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV :: GLenum
glQueryResourceNV :: MonadIO m => GLenum -> GLint -> GLuint -> Ptr GLint -> m GLint

module Graphics.GL.NV.PrimitiveRestart

-- | Is the NV_primitive_restart extension supported?
glGetNVPrimitiveRestart :: MonadIO m => m Bool

-- | Is the NV_primitive_restart extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVPrimitiveRestart in those cases
--   instead.
gl_NV_primitive_restart :: Bool
pattern GL_PRIMITIVE_RESTART_INDEX_NV :: GLenum
pattern GL_PRIMITIVE_RESTART_NV :: GLenum
glPrimitiveRestartIndexNV :: MonadIO m => GLuint -> m ()
glPrimitiveRestartNV :: MonadIO m => m ()

module Graphics.GL.NV.PresentVideo

-- | Is the NV_present_video extension supported?
glGetNVPresentVideo :: MonadIO m => m Bool

-- | Is the NV_present_video extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVPresentVideo in those cases instead.
gl_NV_present_video :: Bool
pattern GL_CURRENT_TIME_NV :: GLenum
pattern GL_FIELDS_NV :: GLenum
pattern GL_FRAME_NV :: GLenum
pattern GL_NUM_FILL_STREAMS_NV :: GLenum
pattern GL_PRESENT_DURATION_NV :: GLenum
pattern GL_PRESENT_TIME_NV :: GLenum
glGetVideoi64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint64EXT -> m ()
glGetVideoivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVideoui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glGetVideouivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glPresentFrameDualFillNV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> m ()
glPresentFrameKeyedNV :: MonadIO m => GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> m ()

module Graphics.GL.NV.PointSprite

-- | Is the NV_point_sprite extension supported?
glGetNVPointSprite :: MonadIO m => m Bool

-- | Is the NV_point_sprite extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVPointSprite in those cases instead.
gl_NV_point_sprite :: Bool
pattern GL_COORD_REPLACE_NV :: GLenum
pattern GL_POINT_SPRITE_NV :: GLenum
pattern GL_POINT_SPRITE_R_MODE_NV :: GLenum

-- | This command is an alias for glPointParameteri.
glPointParameteriNV :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for glPointParameteriv.
glPointParameterivNV :: MonadIO m => GLenum -> Ptr GLint -> m ()

module Graphics.GL.NV.PixelDataRange

-- | Is the NV_pixel_data_range extension supported?
glGetNVPixelDataRange :: MonadIO m => m Bool

-- | Is the NV_pixel_data_range extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVPixelDataRange in those cases
--   instead.
gl_NV_pixel_data_range :: Bool
pattern GL_READ_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
pattern GL_READ_PIXEL_DATA_RANGE_NV :: GLenum
pattern GL_READ_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
pattern GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
pattern GL_WRITE_PIXEL_DATA_RANGE_NV :: GLenum
pattern GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
glFlushPixelDataRangeNV :: MonadIO m => GLenum -> m ()
glPixelDataRangeNV :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.NV.PathRenderingCore

-- | Is the NV_path_rendering extension supported?
glGetNVPathRendering :: MonadIO m => m Bool

-- | Is the NV_path_rendering extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVPathRendering in those cases instead.
gl_NV_path_rendering :: Bool
pattern GL_ACCUM_ADJACENT_PAIRS_NV :: GLenum
pattern GL_ADJACENT_PAIRS_NV :: GLenum
pattern GL_AFFINE_2D_NV :: GLenum
pattern GL_AFFINE_3D_NV :: GLenum
pattern GL_ARC_TO_NV :: GLubyte
pattern GL_BEVEL_NV :: GLenum
pattern GL_BOLD_BIT_NV :: GLbitfield
pattern GL_BOUNDING_BOX_NV :: GLenum
pattern GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: GLenum
pattern GL_CIRCULAR_CCW_ARC_TO_NV :: GLubyte
pattern GL_CIRCULAR_CW_ARC_TO_NV :: GLubyte
pattern GL_CIRCULAR_TANGENT_ARC_TO_NV :: GLubyte
pattern GL_CLOSE_PATH_NV :: GLubyte
pattern GL_CONIC_CURVE_TO_NV :: GLubyte
pattern GL_CONVEX_HULL_NV :: GLenum
pattern GL_COUNT_DOWN_NV :: GLenum
pattern GL_COUNT_UP_NV :: GLenum
pattern GL_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_DUP_FIRST_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_DUP_LAST_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_FILE_NAME_NV :: GLenum
pattern GL_FIRST_TO_REST_NV :: GLenum
pattern GL_FONT_ASCENDER_BIT_NV :: GLbitfield
pattern GL_FONT_DESCENDER_BIT_NV :: GLbitfield
pattern GL_FONT_GLYPHS_AVAILABLE_NV :: GLenum
pattern GL_FONT_HAS_KERNING_BIT_NV :: GLbitfield
pattern GL_FONT_HEIGHT_BIT_NV :: GLbitfield
pattern GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: GLbitfield
pattern GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: GLbitfield
pattern GL_FONT_NUM_GLYPH_INDICES_BIT_NV :: GLbitfield
pattern GL_FONT_TARGET_UNAVAILABLE_NV :: GLenum
pattern GL_FONT_UNAVAILABLE_NV :: GLenum
pattern GL_FONT_UNDERLINE_POSITION_BIT_NV :: GLbitfield
pattern GL_FONT_UNDERLINE_THICKNESS_BIT_NV :: GLbitfield
pattern GL_FONT_UNINTELLIGIBLE_NV :: GLenum
pattern GL_FONT_UNITS_PER_EM_BIT_NV :: GLbitfield
pattern GL_FONT_X_MAX_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_X_MIN_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_Y_MAX_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_Y_MIN_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FRAGMENT_INPUT_NV :: GLenum
pattern GL_GLYPH_HAS_KERNING_BIT_NV :: GLbitfield
pattern GL_GLYPH_HEIGHT_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_X_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV :: GLbitfield
pattern GL_GLYPH_WIDTH_BIT_NV :: GLbitfield
pattern GL_HORIZONTAL_LINE_TO_NV :: GLubyte
pattern GL_ITALIC_BIT_NV :: GLbitfield
pattern GL_LARGE_CCW_ARC_TO_NV :: GLubyte
pattern GL_LARGE_CW_ARC_TO_NV :: GLubyte
pattern GL_LINE_TO_NV :: GLubyte
pattern GL_MITER_REVERT_NV :: GLenum
pattern GL_MITER_TRUNCATE_NV :: GLenum
pattern GL_MOVE_TO_CONTINUES_NV :: GLenum
pattern GL_MOVE_TO_NV :: GLubyte
pattern GL_MOVE_TO_RESETS_NV :: GLenum
pattern GL_PATH_CLIENT_LENGTH_NV :: GLenum
pattern GL_PATH_COMMAND_COUNT_NV :: GLenum
pattern GL_PATH_COMPUTED_LENGTH_NV :: GLenum
pattern GL_PATH_COORD_COUNT_NV :: GLenum
pattern GL_PATH_COVER_DEPTH_FUNC_NV :: GLenum
pattern GL_PATH_DASH_ARRAY_COUNT_NV :: GLenum
pattern GL_PATH_DASH_CAPS_NV :: GLenum
pattern GL_PATH_DASH_OFFSET_NV :: GLenum
pattern GL_PATH_DASH_OFFSET_RESET_NV :: GLenum
pattern GL_PATH_END_CAPS_NV :: GLenum
pattern GL_PATH_ERROR_POSITION_NV :: GLenum
pattern GL_PATH_FILL_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_FILL_COVER_MODE_NV :: GLenum
pattern GL_PATH_FILL_MASK_NV :: GLenum
pattern GL_PATH_FILL_MODE_NV :: GLenum
pattern GL_PATH_FORMAT_PS_NV :: GLenum
pattern GL_PATH_FORMAT_SVG_NV :: GLenum
pattern GL_PATH_GEN_COEFF_NV :: GLenum
pattern GL_PATH_GEN_COMPONENTS_NV :: GLenum
pattern GL_PATH_GEN_MODE_NV :: GLenum
pattern GL_PATH_INITIAL_DASH_CAP_NV :: GLenum
pattern GL_PATH_INITIAL_END_CAP_NV :: GLenum
pattern GL_PATH_JOIN_STYLE_NV :: GLenum
pattern GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_MITER_LIMIT_NV :: GLenum
pattern GL_PATH_MODELVIEW_MATRIX_NV :: GLenum
pattern GL_PATH_MODELVIEW_NV :: GLenum
pattern GL_PATH_MODELVIEW_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_OBJECT_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_PROJECTION_MATRIX_NV :: GLenum
pattern GL_PATH_PROJECTION_NV :: GLenum
pattern GL_PATH_PROJECTION_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV :: GLenum
pattern GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV :: GLenum
pattern GL_PATH_STENCIL_FUNC_NV :: GLenum
pattern GL_PATH_STENCIL_REF_NV :: GLenum
pattern GL_PATH_STENCIL_VALUE_MASK_NV :: GLenum
pattern GL_PATH_STROKE_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_STROKE_COVER_MODE_NV :: GLenum
pattern GL_PATH_STROKE_MASK_NV :: GLenum
pattern GL_PATH_STROKE_WIDTH_NV :: GLenum
pattern GL_PATH_TERMINAL_DASH_CAP_NV :: GLenum
pattern GL_PATH_TERMINAL_END_CAP_NV :: GLenum
pattern GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV :: GLenum
pattern GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV :: GLenum
pattern GL_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_RECT_NV :: GLubyte
pattern GL_RELATIVE_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_CONIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_HORIZONTAL_LINE_TO_NV :: GLubyte
pattern GL_RELATIVE_LARGE_CCW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_LARGE_CW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_LINE_TO_NV :: GLubyte
pattern GL_RELATIVE_MOVE_TO_NV :: GLubyte
pattern GL_RELATIVE_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_RECT_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT2_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT4_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT8_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT_NV :: GLubyte
pattern GL_RELATIVE_SMALL_CCW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_SMALL_CW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_VERTICAL_LINE_TO_NV :: GLubyte
pattern GL_RESTART_PATH_NV :: GLubyte
pattern GL_ROUNDED_RECT2_NV :: GLubyte
pattern GL_ROUNDED_RECT4_NV :: GLubyte
pattern GL_ROUNDED_RECT8_NV :: GLubyte
pattern GL_ROUNDED_RECT_NV :: GLubyte
pattern GL_ROUND_NV :: GLenum
pattern GL_SKIP_MISSING_GLYPH_NV :: GLenum
pattern GL_SMALL_CCW_ARC_TO_NV :: GLubyte
pattern GL_SMALL_CW_ARC_TO_NV :: GLubyte
pattern GL_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_SQUARE_NV :: GLenum
pattern GL_STANDARD_FONT_FORMAT_NV :: GLenum
pattern GL_STANDARD_FONT_NAME_NV :: GLenum
pattern GL_SYSTEM_FONT_NAME_NV :: GLenum
pattern GL_TRANSLATE_2D_NV :: GLenum
pattern GL_TRANSLATE_3D_NV :: GLenum
pattern GL_TRANSLATE_X_NV :: GLenum
pattern GL_TRANSLATE_Y_NV :: GLenum
pattern GL_TRANSPOSE_AFFINE_2D_NV :: GLenum
pattern GL_TRANSPOSE_AFFINE_3D_NV :: GLenum
pattern GL_TRIANGULAR_NV :: GLenum
pattern GL_USE_MISSING_GLYPH_NV :: GLenum
pattern GL_UTF16_NV :: GLenum
pattern GL_UTF8_NV :: GLenum
pattern GL_VERTICAL_LINE_TO_NV :: GLubyte
glCopyPathNV :: MonadIO m => GLuint -> GLuint -> m ()
glCoverFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glCoverFillPathNV :: MonadIO m => GLuint -> GLenum -> m ()
glCoverStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glCoverStrokePathNV :: MonadIO m => GLuint -> GLenum -> m ()
glDeletePathsNV :: MonadIO m => GLuint -> GLsizei -> m ()
glGenPathsNV :: MonadIO m => GLsizei -> m GLuint
glGetPathCommandsNV :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glGetPathCoordsNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glGetPathDashArrayNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glGetPathLengthNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> m GLfloat
glGetPathMetricRangeNV :: MonadIO m => GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glGetPathMetricsNV :: MonadIO m => GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glGetPathParameterfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetPathParameterivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetPathSpacingNV :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> m ()
glGetProgramResourcefvNV :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> m ()
glInterpolatePathsNV :: MonadIO m => GLuint -> GLuint -> GLuint -> GLfloat -> m ()
glIsPathNV :: MonadIO m => GLuint -> m GLboolean
glIsPointInFillPathNV :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> m GLboolean
glIsPointInStrokePathNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m GLboolean
glMatrixFrustumEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixLoad3x2fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoad3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoadIdentityEXT :: MonadIO m => GLenum -> m ()
glMatrixLoadTranspose3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoadTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoaddEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMult3x2fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMult3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultTranspose3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultdEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixOrthoEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixPopEXT :: MonadIO m => GLenum -> m ()
glMatrixPushEXT :: MonadIO m => GLenum -> m ()
glMatrixRotatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixRotatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixScaledEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixScalefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixTranslatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixTranslatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glPathCommandsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> m ()
glPathCoordsNV :: MonadIO m => GLuint -> GLsizei -> GLenum -> Ptr a -> m ()
glPathCoverDepthFuncNV :: MonadIO m => GLenum -> m ()
glPathDashArrayNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glPathGlyphIndexArrayNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
glPathGlyphIndexRangeNV :: MonadIO m => GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> m GLenum
glPathGlyphRangeNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> m ()
glPathGlyphsNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> m ()
glPathMemoryGlyphIndexArrayNV :: MonadIO m => GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
glPathParameterfNV :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()
glPathParameterfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glPathParameteriNV :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glPathParameterivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glPathStencilDepthOffsetNV :: MonadIO m => GLfloat -> GLfloat -> m ()
glPathStencilFuncNV :: MonadIO m => GLenum -> GLint -> GLuint -> m ()
glPathStringNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> Ptr a -> m ()
glPathSubCommandsNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> m ()
glPathSubCoordsNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> m ()
glPointAlongPathNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m GLboolean
glProgramPathFragmentInputGenNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> m ()
glStencilFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glStencilFillPathNV :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()
glStencilStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glStencilStrokePathNV :: MonadIO m => GLuint -> GLint -> GLuint -> m ()
glStencilThenCoverFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glStencilThenCoverFillPathNV :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> m ()
glStencilThenCoverStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glStencilThenCoverStrokePathNV :: MonadIO m => GLuint -> GLint -> GLuint -> GLenum -> m ()
glTransformPathNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glWeightPathsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

module Graphics.GL.NV.PathRenderingCompatibility

-- | Is the NV_path_rendering extension supported?
glGetNVPathRendering :: MonadIO m => m Bool

-- | Is the NV_path_rendering extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVPathRendering in those cases instead.
gl_NV_path_rendering :: Bool
pattern GL_2_BYTES_NV :: GLenum
pattern GL_3_BYTES_NV :: GLenum
pattern GL_4_BYTES_NV :: GLenum
pattern GL_ACCUM_ADJACENT_PAIRS_NV :: GLenum
pattern GL_ADJACENT_PAIRS_NV :: GLenum
pattern GL_AFFINE_2D_NV :: GLenum
pattern GL_AFFINE_3D_NV :: GLenum
pattern GL_ARC_TO_NV :: GLubyte
pattern GL_BEVEL_NV :: GLenum
pattern GL_BOLD_BIT_NV :: GLbitfield
pattern GL_BOUNDING_BOX_NV :: GLenum
pattern GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: GLenum
pattern GL_CIRCULAR_CCW_ARC_TO_NV :: GLubyte
pattern GL_CIRCULAR_CW_ARC_TO_NV :: GLubyte
pattern GL_CIRCULAR_TANGENT_ARC_TO_NV :: GLubyte
pattern GL_CLOSE_PATH_NV :: GLubyte
pattern GL_CONIC_CURVE_TO_NV :: GLubyte
pattern GL_CONSTANT_NV :: GLenum
pattern GL_CONVEX_HULL_NV :: GLenum
pattern GL_COUNT_DOWN_NV :: GLenum
pattern GL_COUNT_UP_NV :: GLenum
pattern GL_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_DUP_FIRST_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_DUP_LAST_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_EYE_LINEAR_NV :: GLenum
pattern GL_FILE_NAME_NV :: GLenum
pattern GL_FIRST_TO_REST_NV :: GLenum
pattern GL_FONT_ASCENDER_BIT_NV :: GLbitfield
pattern GL_FONT_DESCENDER_BIT_NV :: GLbitfield
pattern GL_FONT_GLYPHS_AVAILABLE_NV :: GLenum
pattern GL_FONT_HAS_KERNING_BIT_NV :: GLbitfield
pattern GL_FONT_HEIGHT_BIT_NV :: GLbitfield
pattern GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: GLbitfield
pattern GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: GLbitfield
pattern GL_FONT_NUM_GLYPH_INDICES_BIT_NV :: GLbitfield
pattern GL_FONT_TARGET_UNAVAILABLE_NV :: GLenum
pattern GL_FONT_UNAVAILABLE_NV :: GLenum
pattern GL_FONT_UNDERLINE_POSITION_BIT_NV :: GLbitfield
pattern GL_FONT_UNDERLINE_THICKNESS_BIT_NV :: GLbitfield
pattern GL_FONT_UNINTELLIGIBLE_NV :: GLenum
pattern GL_FONT_UNITS_PER_EM_BIT_NV :: GLbitfield
pattern GL_FONT_X_MAX_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_X_MIN_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_Y_MAX_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FONT_Y_MIN_BOUNDS_BIT_NV :: GLbitfield
pattern GL_FRAGMENT_INPUT_NV :: GLenum
pattern GL_GLYPH_HAS_KERNING_BIT_NV :: GLbitfield
pattern GL_GLYPH_HEIGHT_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV :: GLbitfield
pattern GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_X_BIT_NV :: GLbitfield
pattern GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV :: GLbitfield
pattern GL_GLYPH_WIDTH_BIT_NV :: GLbitfield
pattern GL_HORIZONTAL_LINE_TO_NV :: GLubyte
pattern GL_ITALIC_BIT_NV :: GLbitfield
pattern GL_LARGE_CCW_ARC_TO_NV :: GLubyte
pattern GL_LARGE_CW_ARC_TO_NV :: GLubyte
pattern GL_LINE_TO_NV :: GLubyte
pattern GL_MITER_REVERT_NV :: GLenum
pattern GL_MITER_TRUNCATE_NV :: GLenum
pattern GL_MOVE_TO_CONTINUES_NV :: GLenum
pattern GL_MOVE_TO_NV :: GLubyte
pattern GL_MOVE_TO_RESETS_NV :: GLenum
pattern GL_OBJECT_LINEAR_NV :: GLenum
pattern GL_PATH_CLIENT_LENGTH_NV :: GLenum
pattern GL_PATH_COMMAND_COUNT_NV :: GLenum
pattern GL_PATH_COMPUTED_LENGTH_NV :: GLenum
pattern GL_PATH_COORD_COUNT_NV :: GLenum
pattern GL_PATH_COVER_DEPTH_FUNC_NV :: GLenum
pattern GL_PATH_DASH_ARRAY_COUNT_NV :: GLenum
pattern GL_PATH_DASH_CAPS_NV :: GLenum
pattern GL_PATH_DASH_OFFSET_NV :: GLenum
pattern GL_PATH_DASH_OFFSET_RESET_NV :: GLenum
pattern GL_PATH_END_CAPS_NV :: GLenum
pattern GL_PATH_ERROR_POSITION_NV :: GLenum
pattern GL_PATH_FILL_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_FILL_COVER_MODE_NV :: GLenum
pattern GL_PATH_FILL_MASK_NV :: GLenum
pattern GL_PATH_FILL_MODE_NV :: GLenum
pattern GL_PATH_FOG_GEN_MODE_NV :: GLenum
pattern GL_PATH_FORMAT_PS_NV :: GLenum
pattern GL_PATH_FORMAT_SVG_NV :: GLenum
pattern GL_PATH_GEN_COEFF_NV :: GLenum
pattern GL_PATH_GEN_COLOR_FORMAT_NV :: GLenum
pattern GL_PATH_GEN_COMPONENTS_NV :: GLenum
pattern GL_PATH_GEN_MODE_NV :: GLenum
pattern GL_PATH_INITIAL_DASH_CAP_NV :: GLenum
pattern GL_PATH_INITIAL_END_CAP_NV :: GLenum
pattern GL_PATH_JOIN_STYLE_NV :: GLenum
pattern GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_MITER_LIMIT_NV :: GLenum
pattern GL_PATH_MODELVIEW_MATRIX_NV :: GLenum
pattern GL_PATH_MODELVIEW_NV :: GLenum
pattern GL_PATH_MODELVIEW_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_OBJECT_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_PROJECTION_MATRIX_NV :: GLenum
pattern GL_PATH_PROJECTION_NV :: GLenum
pattern GL_PATH_PROJECTION_STACK_DEPTH_NV :: GLenum
pattern GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV :: GLenum
pattern GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV :: GLenum
pattern GL_PATH_STENCIL_FUNC_NV :: GLenum
pattern GL_PATH_STENCIL_REF_NV :: GLenum
pattern GL_PATH_STENCIL_VALUE_MASK_NV :: GLenum
pattern GL_PATH_STROKE_BOUNDING_BOX_NV :: GLenum
pattern GL_PATH_STROKE_COVER_MODE_NV :: GLenum
pattern GL_PATH_STROKE_MASK_NV :: GLenum
pattern GL_PATH_STROKE_WIDTH_NV :: GLenum
pattern GL_PATH_TERMINAL_DASH_CAP_NV :: GLenum
pattern GL_PATH_TERMINAL_END_CAP_NV :: GLenum
pattern GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV :: GLenum
pattern GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMARY_COLOR_NV :: GLenum
pattern GL_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_RECT_NV :: GLubyte
pattern GL_RELATIVE_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_CONIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_HORIZONTAL_LINE_TO_NV :: GLubyte
pattern GL_RELATIVE_LARGE_CCW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_LARGE_CW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_LINE_TO_NV :: GLubyte
pattern GL_RELATIVE_MOVE_TO_NV :: GLubyte
pattern GL_RELATIVE_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_RECT_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT2_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT4_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT8_NV :: GLubyte
pattern GL_RELATIVE_ROUNDED_RECT_NV :: GLubyte
pattern GL_RELATIVE_SMALL_CCW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_SMALL_CW_ARC_TO_NV :: GLubyte
pattern GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_RELATIVE_VERTICAL_LINE_TO_NV :: GLubyte
pattern GL_RESTART_PATH_NV :: GLubyte
pattern GL_ROUNDED_RECT2_NV :: GLubyte
pattern GL_ROUNDED_RECT4_NV :: GLubyte
pattern GL_ROUNDED_RECT8_NV :: GLubyte
pattern GL_ROUNDED_RECT_NV :: GLubyte
pattern GL_ROUND_NV :: GLenum
pattern GL_SECONDARY_COLOR_NV :: GLenum
pattern GL_SKIP_MISSING_GLYPH_NV :: GLenum
pattern GL_SMALL_CCW_ARC_TO_NV :: GLubyte
pattern GL_SMALL_CW_ARC_TO_NV :: GLubyte
pattern GL_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
pattern GL_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
pattern GL_SQUARE_NV :: GLenum
pattern GL_STANDARD_FONT_FORMAT_NV :: GLenum
pattern GL_STANDARD_FONT_NAME_NV :: GLenum
pattern GL_SYSTEM_FONT_NAME_NV :: GLenum
pattern GL_TRANSLATE_2D_NV :: GLenum
pattern GL_TRANSLATE_3D_NV :: GLenum
pattern GL_TRANSLATE_X_NV :: GLenum
pattern GL_TRANSLATE_Y_NV :: GLenum
pattern GL_TRANSPOSE_AFFINE_2D_NV :: GLenum
pattern GL_TRANSPOSE_AFFINE_3D_NV :: GLenum
pattern GL_TRIANGULAR_NV :: GLenum
pattern GL_USE_MISSING_GLYPH_NV :: GLenum
pattern GL_UTF16_NV :: GLenum
pattern GL_UTF8_NV :: GLenum
pattern GL_VERTICAL_LINE_TO_NV :: GLubyte
glCopyPathNV :: MonadIO m => GLuint -> GLuint -> m ()
glCoverFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glCoverFillPathNV :: MonadIO m => GLuint -> GLenum -> m ()
glCoverStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glCoverStrokePathNV :: MonadIO m => GLuint -> GLenum -> m ()
glDeletePathsNV :: MonadIO m => GLuint -> GLsizei -> m ()
glGenPathsNV :: MonadIO m => GLsizei -> m GLuint
glGetPathColorGenfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetPathColorGenivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetPathCommandsNV :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glGetPathCoordsNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glGetPathDashArrayNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glGetPathLengthNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> m GLfloat
glGetPathMetricRangeNV :: MonadIO m => GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> m ()
glGetPathMetricsNV :: MonadIO m => GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glGetPathParameterfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetPathParameterivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetPathSpacingNV :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> m ()
glGetPathTexGenfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetPathTexGenivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetProgramResourcefvNV :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> m ()
glInterpolatePathsNV :: MonadIO m => GLuint -> GLuint -> GLuint -> GLfloat -> m ()
glIsPathNV :: MonadIO m => GLuint -> m GLboolean
glIsPointInFillPathNV :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> m GLboolean
glIsPointInStrokePathNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m GLboolean
glMatrixFrustumEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixLoad3x2fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoad3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoadIdentityEXT :: MonadIO m => GLenum -> m ()
glMatrixLoadTranspose3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoadTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoaddEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMult3x2fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMult3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultTranspose3x3fNV :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultdEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixOrthoEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixPopEXT :: MonadIO m => GLenum -> m ()
glMatrixPushEXT :: MonadIO m => GLenum -> m ()
glMatrixRotatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixRotatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixScaledEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixScalefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixTranslatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixTranslatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glPathColorGenNV :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glPathCommandsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> m ()
glPathCoordsNV :: MonadIO m => GLuint -> GLsizei -> GLenum -> Ptr a -> m ()
glPathCoverDepthFuncNV :: MonadIO m => GLenum -> m ()
glPathDashArrayNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glPathFogGenNV :: MonadIO m => GLenum -> m ()
glPathGlyphIndexArrayNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
glPathGlyphIndexRangeNV :: MonadIO m => GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> m GLenum
glPathGlyphRangeNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> m ()
glPathGlyphsNV :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> m ()
glPathMemoryGlyphIndexArrayNV :: MonadIO m => GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> m GLenum
glPathParameterfNV :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()
glPathParameterfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glPathParameteriNV :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glPathParameterivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glPathStencilDepthOffsetNV :: MonadIO m => GLfloat -> GLfloat -> m ()
glPathStencilFuncNV :: MonadIO m => GLenum -> GLint -> GLuint -> m ()
glPathStringNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> Ptr a -> m ()
glPathSubCommandsNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> m ()
glPathSubCoordsNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> m ()
glPathTexGenNV :: MonadIO m => GLenum -> GLenum -> GLint -> Ptr GLfloat -> m ()
glPointAlongPathNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m GLboolean
glProgramPathFragmentInputGenNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> m ()
glStencilFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glStencilFillPathNV :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()
glStencilStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glStencilStrokePathNV :: MonadIO m => GLuint -> GLint -> GLuint -> m ()
glStencilThenCoverFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glStencilThenCoverFillPathNV :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> m ()
glStencilThenCoverStrokePathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glStencilThenCoverStrokePathNV :: MonadIO m => GLuint -> GLint -> GLuint -> GLenum -> m ()
glTransformPathNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glWeightPathsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

module Graphics.GL.NV.ParameterBufferObject

-- | Is the NV_parameter_buffer_object extension supported?
glGetNVParameterBufferObject :: MonadIO m => m Bool

-- | Is the NV_parameter_buffer_object extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVParameterBufferObject in those
--   cases instead.
gl_NV_parameter_buffer_object :: Bool
pattern GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
pattern GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV :: GLenum
pattern GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV :: GLenum
pattern GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
glProgramBufferParametersIivNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> m ()
glProgramBufferParametersIuivNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> m ()
glProgramBufferParametersfvNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()

module Graphics.GL.NV.OcclusionQuery

-- | Is the NV_occlusion_query extension supported?
glGetNVOcclusionQuery :: MonadIO m => m Bool

-- | Is the NV_occlusion_query extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVOcclusionQuery in those cases instead.
gl_NV_occlusion_query :: Bool
pattern GL_CURRENT_OCCLUSION_QUERY_ID_NV :: GLenum
pattern GL_PIXEL_COUNTER_BITS_NV :: GLenum
pattern GL_PIXEL_COUNT_AVAILABLE_NV :: GLenum
pattern GL_PIXEL_COUNT_NV :: GLenum
glBeginOcclusionQueryNV :: MonadIO m => GLuint -> m ()
glDeleteOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glEndOcclusionQueryNV :: MonadIO m => m ()
glGenOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetOcclusionQueryivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetOcclusionQueryuivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glIsOcclusionQueryNV :: MonadIO m => GLuint -> m GLboolean

module Graphics.GL.NV.MeshShader

-- | Is the NV_mesh_shader extension supported?
glGetNVMeshShader :: MonadIO m => m Bool

-- | Is the NV_mesh_shader extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVMeshShader in those cases instead.
gl_NV_mesh_shader :: Bool
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV :: GLenum
pattern GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV :: GLenum
pattern GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV :: GLenum
pattern GL_MAX_DRAW_MESH_TASKS_COUNT_NV :: GLenum
pattern GL_MAX_MESH_ATOMIC_COUNTERS_NV :: GLenum
pattern GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV :: GLenum
pattern GL_MAX_MESH_IMAGE_UNIFORMS_NV :: GLenum
pattern GL_MAX_MESH_OUTPUT_PRIMITIVES_NV :: GLenum
pattern GL_MAX_MESH_OUTPUT_VERTICES_NV :: GLenum
pattern GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV :: GLenum
pattern GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV :: GLenum
pattern GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV :: GLenum
pattern GL_MAX_MESH_UNIFORM_BLOCKS_NV :: GLenum
pattern GL_MAX_MESH_UNIFORM_COMPONENTS_NV :: GLenum
pattern GL_MAX_MESH_VIEWS_NV :: GLenum
pattern GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV :: GLenum
pattern GL_MAX_MESH_WORK_GROUP_SIZE_NV :: GLenum
pattern GL_MAX_TASK_ATOMIC_COUNTERS_NV :: GLenum
pattern GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV :: GLenum
pattern GL_MAX_TASK_IMAGE_UNIFORMS_NV :: GLenum
pattern GL_MAX_TASK_OUTPUT_COUNT_NV :: GLenum
pattern GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV :: GLenum
pattern GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV :: GLenum
pattern GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV :: GLenum
pattern GL_MAX_TASK_UNIFORM_BLOCKS_NV :: GLenum
pattern GL_MAX_TASK_UNIFORM_COMPONENTS_NV :: GLenum
pattern GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV :: GLenum
pattern GL_MAX_TASK_WORK_GROUP_SIZE_NV :: GLenum
pattern GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV :: GLenum
pattern GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV :: GLenum
pattern GL_MESH_OUTPUT_TYPE_NV :: GLenum
pattern GL_MESH_PRIMITIVES_OUT_NV :: GLenum
pattern GL_MESH_SHADER_BIT_NV :: GLbitfield
pattern GL_MESH_SHADER_NV :: GLenum
pattern GL_MESH_SUBROUTINE_NV :: GLenum
pattern GL_MESH_SUBROUTINE_UNIFORM_NV :: GLenum
pattern GL_MESH_VERTICES_OUT_NV :: GLenum
pattern GL_MESH_WORK_GROUP_SIZE_NV :: GLenum
pattern GL_REFERENCED_BY_MESH_SHADER_NV :: GLenum
pattern GL_REFERENCED_BY_TASK_SHADER_NV :: GLenum
pattern GL_TASK_SHADER_BIT_NV :: GLbitfield
pattern GL_TASK_SHADER_NV :: GLenum
pattern GL_TASK_SUBROUTINE_NV :: GLenum
pattern GL_TASK_SUBROUTINE_UNIFORM_NV :: GLenum
pattern GL_TASK_WORK_GROUP_SIZE_NV :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV :: GLenum
glDrawMeshTasksIndirectNV :: MonadIO m => GLintptr -> m ()
glDrawMeshTasksNV :: MonadIO m => GLuint -> GLuint -> m ()
glMultiDrawMeshTasksIndirectCountNV :: MonadIO m => GLintptr -> GLintptr -> GLsizei -> GLsizei -> m ()
glMultiDrawMeshTasksIndirectNV :: MonadIO m => GLintptr -> GLsizei -> GLsizei -> m ()

module Graphics.GL.NV.MemoryAttachment

-- | Is the NV_memory_attachment extension supported?
glGetNVMemoryAttachment :: MonadIO m => m Bool

-- | Is the NV_memory_attachment extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVMemoryAttachment in those cases
--   instead.
gl_NV_memory_attachment :: Bool
pattern GL_ATTACHED_MEMORY_OBJECT_NV :: GLenum
pattern GL_ATTACHED_MEMORY_OFFSET_NV :: GLenum
pattern GL_DETACHED_BUFFERS_NV :: GLenum
pattern GL_DETACHED_MEMORY_INCARNATION_NV :: GLenum
pattern GL_DETACHED_TEXTURES_NV :: GLenum
pattern GL_MAX_DETACHED_BUFFERS_NV :: GLenum
pattern GL_MAX_DETACHED_TEXTURES_NV :: GLenum
pattern GL_MEMORY_ATTACHABLE_ALIGNMENT_NV :: GLenum
pattern GL_MEMORY_ATTACHABLE_NV :: GLenum
pattern GL_MEMORY_ATTACHABLE_SIZE_NV :: GLenum
glBufferAttachMemoryNV :: MonadIO m => GLenum -> GLuint -> GLuint64 -> m ()
glGetMemoryObjectDetachedResourcesuivNV :: MonadIO m => GLuint -> GLenum -> GLint -> GLsizei -> Ptr GLuint -> m ()
glNamedBufferAttachMemoryNV :: MonadIO m => GLuint -> GLuint -> GLuint64 -> m ()
glResetMemoryObjectParameterNV :: MonadIO m => GLuint -> GLenum -> m ()
glTexAttachMemoryNV :: MonadIO m => GLenum -> GLuint -> GLuint64 -> m ()
glTextureAttachMemoryNV :: MonadIO m => GLuint -> GLuint -> GLuint64 -> m ()

module Graphics.GL.NV.InternalformatSampleQuery

-- | Is the NV_internalformat_sample_query extension supported?
glGetNVInternalformatSampleQuery :: MonadIO m => m Bool

-- | Is the NV_internalformat_sample_query extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVInternalformatSampleQuery in
--   those cases instead.
gl_NV_internalformat_sample_query :: Bool
pattern GL_CONFORMANT_NV :: GLenum
pattern GL_MULTISAMPLES_NV :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_SUPERSAMPLE_SCALE_X_NV :: GLenum
pattern GL_SUPERSAMPLE_SCALE_Y_NV :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
glGetInternalformatSampleivNV :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> m ()

module Graphics.GL.NV.HalfFloat

-- | Is the NV_half_float extension supported?
glGetNVHalfFloat :: MonadIO m => m Bool

-- | Is the NV_half_float extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVHalfFloat in those cases instead.
gl_NV_half_float :: Bool
pattern GL_HALF_FLOAT_NV :: GLenum

-- | The vector equivalent of this command is glColor3hvNV.
glColor3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glColor3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glColor4hvNV.
glColor4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glColor4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glFogCoordhvNV.
glFogCoordhNV :: MonadIO m => GLhalfNV -> m ()
glFogCoordhvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1hvNV.
glMultiTexCoord1hNV :: MonadIO m => GLenum -> GLhalfNV -> m ()
glMultiTexCoord1hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2hvNV.
glMultiTexCoord2hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord2hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3hvNV.
glMultiTexCoord3hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord3hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4hvNV.
glMultiTexCoord4hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord4hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glNormal3hvNV.
glNormal3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glNormal3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glSecondaryColor3hvNV.
glSecondaryColor3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glSecondaryColor3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glTexCoord1hvNV.
glTexCoord1hNV :: MonadIO m => GLhalfNV -> m ()
glTexCoord1hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glTexCoord2hvNV.
glTexCoord2hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> m ()
glTexCoord2hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glTexCoord3hvNV.
glTexCoord3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glTexCoord3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glTexCoord4hvNV.
glTexCoord4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glTexCoord4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertex2hvNV.
glVertex2hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> m ()
glVertex2hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertex3hvNV.
glVertex3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertex3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertex4hvNV.
glVertex4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertex4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexAttrib1hvNV.
glVertexAttrib1hNV :: MonadIO m => GLuint -> GLhalfNV -> m ()
glVertexAttrib1hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexAttrib2hvNV.
glVertexAttrib2hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib2hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexAttrib3hvNV.
glVertexAttrib3hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib3hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexAttrib4hvNV.
glVertexAttrib4hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib4hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()
glVertexAttribs1hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
glVertexAttribs2hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
glVertexAttribs3hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
glVertexAttribs4hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is glVertexWeighthvNV.
glVertexWeighthNV :: MonadIO m => GLhalfNV -> m ()
glVertexWeighthvNV :: MonadIO m => Ptr GLhalfNV -> m ()

module Graphics.GL.NV.GeometryProgram4

-- | Is the NV_geometry_program4 extension supported?
glGetNVGeometryProgram4 :: MonadIO m => m Bool

-- | Is the NV_geometry_program4 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVGeometryProgram4 in those cases
--   instead.
gl_NV_geometry_program4 :: Bool
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE_EXT :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE_EXT :: GLenum
pattern GL_GEOMETRY_PROGRAM_NV :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT_EXT :: GLenum
pattern GL_LINES_ADJACENCY_EXT :: GLenum
pattern GL_LINE_STRIP_ADJACENCY_EXT :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: GLenum
pattern GL_MAX_PROGRAM_OUTPUT_VERTICES_NV :: GLenum
pattern GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV :: GLenum
pattern GL_PROGRAM_POINT_SIZE_EXT :: GLenum
pattern GL_TRIANGLES_ADJACENCY_EXT :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY_EXT :: GLenum

-- | This command is an alias for glFramebufferTexture.
glFramebufferTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for glFramebufferTextureFaceARB.
glFramebufferTextureFaceEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()

-- | This command is an alias for glFramebufferTextureLayer.
glFramebufferTextureLayerEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glProgramVertexLimitNV :: MonadIO m => GLenum -> GLint -> m ()

module Graphics.GL.NV.GPUShader5

-- | Is the NV_gpu_shader5 extension supported?
glGetNVGPUShader5 :: MonadIO m => m Bool

-- | Is the NV_gpu_shader5 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVGPUShader5 in those cases instead.
gl_NV_gpu_shader5 :: Bool
pattern GL_FLOAT16_NV :: GLenum
pattern GL_FLOAT16_VEC2_NV :: GLenum
pattern GL_FLOAT16_VEC3_NV :: GLenum
pattern GL_FLOAT16_VEC4_NV :: GLenum
pattern GL_INT16_NV :: GLenum
pattern GL_INT16_VEC2_NV :: GLenum
pattern GL_INT16_VEC3_NV :: GLenum
pattern GL_INT16_VEC4_NV :: GLenum
pattern GL_INT64_NV :: GLenum
pattern GL_INT64_VEC2_NV :: GLenum
pattern GL_INT64_VEC3_NV :: GLenum
pattern GL_INT64_VEC4_NV :: GLenum
pattern GL_INT8_NV :: GLenum
pattern GL_INT8_VEC2_NV :: GLenum
pattern GL_INT8_VEC3_NV :: GLenum
pattern GL_INT8_VEC4_NV :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_UNSIGNED_INT16_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC4_NV :: GLenum
pattern GL_UNSIGNED_INT64_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC4_NV :: GLenum
pattern GL_UNSIGNED_INT8_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC4_NV :: GLenum
glGetUniformi64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLint64EXT -> m ()
glProgramUniform1i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> m ()
glProgramUniform1i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform1ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniform1ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform2i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform2i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform2ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform2ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform3i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform3i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform3ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform3ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform4i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform4i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform4ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform4ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform1i64NV :: MonadIO m => GLint -> GLint64EXT -> m ()
glUniform1i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform1ui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniform1ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform2i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> m ()
glUniform2i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform2ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform2ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform3i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform3i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform3ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform3ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform4i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform4i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform4ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform4ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

module Graphics.GL.NV.GPUProgram5

-- | Is the NV_gpu_program5 extension supported?
glGetNVGPUProgram5 :: MonadIO m => m Bool

-- | Is the NV_gpu_program5 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVGPUProgram5 in those cases instead.
gl_NV_gpu_program5 :: Bool
pattern GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
pattern GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV :: GLenum
pattern GL_MAX_PROGRAM_SUBROUTINE_NUM_NV :: GLenum
pattern GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
glGetProgramSubroutineParameteruivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glProgramSubroutineParametersuivNV :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

module Graphics.GL.NV.GPUProgram4

-- | Is the NV_gpu_program4 extension supported?
glGetNVGPUProgram4 :: MonadIO m => m Bool

-- | Is the NV_gpu_program4 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVGPUProgram4 in those cases instead.
gl_NV_gpu_program4 :: Bool
pattern GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
pattern GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV :: GLenum
pattern GL_MAX_PROGRAM_GENERIC_RESULTS_NV :: GLenum
pattern GL_MAX_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET_NV :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET_NV :: GLenum
pattern GL_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
pattern GL_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
glGetProgramEnvParameterIivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetProgramEnvParameterIuivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGetProgramLocalParameterIivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetProgramLocalParameterIuivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glProgramEnvParameterI4ivNV.
glProgramEnvParameterI4iNV :: MonadIO m => GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramEnvParameterI4ivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glProgramEnvParameterI4uivNV.
glProgramEnvParameterI4uiNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramEnvParameterI4uivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glProgramEnvParametersI4ivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
glProgramEnvParametersI4uivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameterI4ivNV.
glProgramLocalParameterI4iNV :: MonadIO m => GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramLocalParameterI4ivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameterI4uivNV.
glProgramLocalParameterI4uiNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramLocalParameterI4uivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glProgramLocalParametersI4ivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
glProgramLocalParametersI4uivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

module Graphics.GL.NV.GPUMulticast

-- | Is the NV_gpu_multicast extension supported?
glGetNVGPUMulticast :: MonadIO m => m Bool

-- | Is the NV_gpu_multicast extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVGPUMulticast in those cases instead.
gl_NV_gpu_multicast :: Bool
pattern GL_MULTICAST_GPUS_NV :: GLenum
pattern GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
pattern GL_PER_GPU_STORAGE_BIT_NV :: GLbitfield
pattern GL_PER_GPU_STORAGE_NV :: GLenum
pattern GL_RENDER_GPU_MASK_NV :: GLenum
glMulticastBarrierNV :: MonadIO m => m ()
glMulticastBlitFramebufferNV :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
glMulticastBufferSubDataNV :: MonadIO m => GLbitfield -> GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glMulticastCopyBufferSubDataNV :: MonadIO m => GLuint -> GLbitfield -> GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
glMulticastCopyImageSubDataNV :: MonadIO m => GLuint -> GLbitfield -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glMulticastFramebufferSampleLocationsfvNV :: MonadIO m => GLuint -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glMulticastGetQueryObjecti64vNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()
glMulticastGetQueryObjectivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glMulticastGetQueryObjectui64vNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLuint64 -> m ()
glMulticastGetQueryObjectuivNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLuint -> m ()
glMulticastWaitSyncNV :: MonadIO m => GLuint -> GLbitfield -> m ()
glRenderGpuMaskNV :: MonadIO m => GLbitfield -> m ()

module Graphics.GL.NV.FramebufferMultisampleCoverage

-- | Is the NV_framebuffer_multisample_coverage extension supported?
glGetNVFramebufferMultisampleCoverage :: MonadIO m => m Bool

-- | Is the NV_framebuffer_multisample_coverage extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVFramebufferMultisampleCoverage in those cases instead.
gl_NV_framebuffer_multisample_coverage :: Bool
pattern GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
pattern GL_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
pattern GL_RENDERBUFFER_COLOR_SAMPLES_NV :: GLenum
pattern GL_RENDERBUFFER_COVERAGE_SAMPLES_NV :: GLenum
glRenderbufferStorageMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

module Graphics.GL.NV.FramebufferMixedSamples

-- | Is the NV_framebuffer_mixed_samples extension supported?
glGetNVFramebufferMixedSamples :: MonadIO m => m Bool

-- | Is the NV_framebuffer_mixed_samples extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVFramebufferMixedSamples in
--   those cases instead.
gl_NV_framebuffer_mixed_samples :: Bool
pattern GL_COLOR_SAMPLES_NV :: GLenum
pattern GL_COVERAGE_MODULATION_NV :: GLenum
pattern GL_COVERAGE_MODULATION_TABLE_NV :: GLenum
pattern GL_COVERAGE_MODULATION_TABLE_SIZE_NV :: GLenum
pattern GL_DEPTH_SAMPLES_NV :: GLenum
pattern GL_EFFECTIVE_RASTER_SAMPLES_EXT :: GLenum
pattern GL_MAX_RASTER_SAMPLES_EXT :: GLenum
pattern GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV :: GLenum
pattern GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV :: GLenum
pattern GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: GLenum
pattern GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: GLenum
pattern GL_RASTER_MULTISAMPLE_EXT :: GLenum
pattern GL_RASTER_SAMPLES_EXT :: GLenum
pattern GL_STENCIL_SAMPLES_NV :: GLenum
glCoverageModulationNV :: MonadIO m => GLenum -> m ()
glCoverageModulationTableNV :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()
glGetCoverageModulationTableNV :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()
glRasterSamplesEXT :: MonadIO m => GLuint -> GLboolean -> m ()

module Graphics.GL.NV.FragmentProgram

-- | Is the NV_fragment_program extension supported?
glGetNVFragmentProgram :: MonadIO m => m Bool

-- | Is the NV_fragment_program extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVFragmentProgram in those cases
--   instead.
gl_NV_fragment_program :: Bool
pattern GL_FRAGMENT_PROGRAM_BINDING_NV :: GLenum
pattern GL_FRAGMENT_PROGRAM_NV :: GLenum
pattern GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV :: GLenum
pattern GL_MAX_TEXTURE_COORDS_NV :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS_NV :: GLenum
pattern GL_PROGRAM_ERROR_STRING_NV :: GLenum
glGetProgramNamedParameterdvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> m ()
glGetProgramNamedParameterfvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glProgramNamedParameter4dvNV.
glProgramNamedParameter4dNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramNamedParameter4dvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramNamedParameter4fvNV.
glProgramNamedParameter4fNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramNamedParameter4fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> m ()

module Graphics.GL.NV.FragmentCoverageToColor

-- | Is the NV_fragment_coverage_to_color extension supported?
glGetNVFragmentCoverageToColor :: MonadIO m => m Bool

-- | Is the NV_fragment_coverage_to_color extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVFragmentCoverageToColor in
--   those cases instead.
gl_NV_fragment_coverage_to_color :: Bool
pattern GL_FRAGMENT_COVERAGE_COLOR_NV :: GLenum
pattern GL_FRAGMENT_COVERAGE_TO_COLOR_NV :: GLenum
glFragmentCoverageColorNV :: MonadIO m => GLuint -> m ()

module Graphics.GL.NV.Fence

-- | Is the NV_fence extension supported?
glGetNVFence :: MonadIO m => m Bool

-- | Is the NV_fence extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use glGetNVFence in those cases instead.
gl_NV_fence :: Bool
pattern GL_ALL_COMPLETED_NV :: GLenum
pattern GL_FENCE_CONDITION_NV :: GLenum
pattern GL_FENCE_STATUS_NV :: GLenum
glDeleteFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glFinishFenceNV :: MonadIO m => GLuint -> m ()
glGenFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetFenceivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glIsFenceNV :: MonadIO m => GLuint -> m GLboolean
glSetFenceNV :: MonadIO m => GLuint -> GLenum -> m ()
glTestFenceNV :: MonadIO m => GLuint -> m GLboolean

module Graphics.GL.NV.ExplicitMultisample

-- | Is the NV_explicit_multisample extension supported?
glGetNVExplicitMultisample :: MonadIO m => m Bool

-- | Is the NV_explicit_multisample extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVExplicitMultisample in those cases
--   instead.
gl_NV_explicit_multisample :: Bool
pattern GL_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS_NV :: GLenum
pattern GL_SAMPLER_RENDERBUFFER_NV :: GLenum
pattern GL_SAMPLE_MASK_NV :: GLenum
pattern GL_SAMPLE_MASK_VALUE_NV :: GLenum
pattern GL_SAMPLE_POSITION_NV :: GLenum
pattern GL_TEXTURE_BINDING_RENDERBUFFER_NV :: GLenum
pattern GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV :: GLenum
pattern GL_TEXTURE_RENDERBUFFER_NV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV :: GLenum

-- | This command is an alias for glGetMultisamplefv.
glGetMultisamplefvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glSampleMaskIndexedNV :: MonadIO m => GLuint -> GLbitfield -> m ()
glTexRenderbufferNV :: MonadIO m => GLenum -> GLuint -> m ()

module Graphics.GL.NV.Evaluators

-- | Is the NV_evaluators extension supported?
glGetNVEvaluators :: MonadIO m => m Bool

-- | Is the NV_evaluators extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVEvaluators in those cases instead.
gl_NV_evaluators :: Bool
pattern GL_EVAL_2D_NV :: GLenum
pattern GL_EVAL_FRACTIONAL_TESSELLATION_NV :: GLenum
pattern GL_EVAL_TRIANGULAR_2D_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB0_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB10_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB11_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB12_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB13_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB14_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB15_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB1_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB2_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB3_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB4_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB5_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB6_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB7_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB8_NV :: GLenum
pattern GL_EVAL_VERTEX_ATTRIB9_NV :: GLenum
pattern GL_MAP_ATTRIB_U_ORDER_NV :: GLenum
pattern GL_MAP_ATTRIB_V_ORDER_NV :: GLenum
pattern GL_MAP_TESSELLATION_NV :: GLenum
pattern GL_MAX_MAP_TESSELLATION_NV :: GLenum
pattern GL_MAX_RATIONAL_EVAL_ORDER_NV :: GLenum
glEvalMapsNV :: MonadIO m => GLenum -> GLenum -> m ()
glGetMapAttribParameterfvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetMapAttribParameterivNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetMapControlPointsNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> m ()
glGetMapParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMapParameterivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glMapControlPointsNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> m ()
glMapParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glMapParameterivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.NV.DrawVulkanImage

-- | Is the NV_draw_vulkan_image extension supported?
glGetNVDrawVulkanImage :: MonadIO m => m Bool

-- | Is the NV_draw_vulkan_image extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVDrawVulkanImage in those cases
--   instead.
gl_NV_draw_vulkan_image :: Bool
glDrawVkImageNV :: MonadIO m => GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glGetVkProcAddrNV :: MonadIO m => Ptr GLchar -> m GLVULKANPROCNV
glSignalVkFenceNV :: MonadIO m => GLuint64 -> m ()
glSignalVkSemaphoreNV :: MonadIO m => GLuint64 -> m ()
glWaitVkSemaphoreNV :: MonadIO m => GLuint64 -> m ()

module Graphics.GL.NV.DrawTexture

-- | Is the NV_draw_texture extension supported?
glGetNVDrawTexture :: MonadIO m => m Bool

-- | Is the NV_draw_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVDrawTexture in those cases instead.
gl_NV_draw_texture :: Bool
glDrawTextureNV :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

module Graphics.GL.NV.DepthBufferFloat

-- | Is the NV_depth_buffer_float extension supported?
glGetNVDepthBufferFloat :: MonadIO m => m Bool

-- | Is the NV_depth_buffer_float extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVDepthBufferFloat in those cases
--   instead.
gl_NV_depth_buffer_float :: Bool
pattern GL_DEPTH32F_STENCIL8_NV :: GLenum
pattern GL_DEPTH_BUFFER_FLOAT_MODE_NV :: GLenum
pattern GL_DEPTH_COMPONENT32F_NV :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV :: GLenum
glClearDepthdNV :: MonadIO m => GLdouble -> m ()
glDepthBoundsdNV :: MonadIO m => GLdouble -> GLdouble -> m ()
glDepthRangedNV :: MonadIO m => GLdouble -> GLdouble -> m ()

module Graphics.GL.NV.CopyImage

-- | Is the NV_copy_image extension supported?
glGetNVCopyImage :: MonadIO m => m Bool

-- | Is the NV_copy_image extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVCopyImage in those cases instead.
gl_NV_copy_image :: Bool
glCopyImageSubDataNV :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

module Graphics.GL.NV.ConservativeRasterPreSnapTriangles

-- | Is the NV_conservative_raster_pre_snap_triangles extension
--   supported?
glGetNVConservativeRasterPreSnapTriangles :: MonadIO m => m Bool

-- | Is the NV_conservative_raster_pre_snap_triangles extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   glGetNVConservativeRasterPreSnapTriangles in those cases
--   instead.
gl_NV_conservative_raster_pre_snap_triangles :: Bool
pattern GL_CONSERVATIVE_RASTER_MODE_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV :: GLenum
glConservativeRasterParameteriNV :: MonadIO m => GLenum -> GLint -> m ()

module Graphics.GL.NV.ConservativeRasterDilate

-- | Is the NV_conservative_raster_dilate extension supported?
glGetNVConservativeRasterDilate :: MonadIO m => m Bool

-- | Is the NV_conservative_raster_dilate extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVConservativeRasterDilate in
--   those cases instead.
gl_NV_conservative_raster_dilate :: Bool
pattern GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_DILATE_NV :: GLenum
pattern GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV :: GLenum
glConservativeRasterParameterfNV :: MonadIO m => GLenum -> GLfloat -> m ()

module Graphics.GL.NV.ConservativeRaster

-- | Is the NV_conservative_raster extension supported?
glGetNVConservativeRaster :: MonadIO m => m Bool

-- | Is the NV_conservative_raster extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVConservativeRaster in those cases
--   instead.
gl_NV_conservative_raster :: Bool
pattern GL_CONSERVATIVE_RASTERIZATION_NV :: GLenum
pattern GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV :: GLenum
pattern GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV :: GLenum
pattern GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV :: GLenum
glSubpixelPrecisionBiasNV :: MonadIO m => GLuint -> GLuint -> m ()

module Graphics.GL.NV.ConditionalRender

-- | Is the NV_conditional_render extension supported?
glGetNVConditionalRender :: MonadIO m => m Bool

-- | Is the NV_conditional_render extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVConditionalRender in those cases
--   instead.
gl_NV_conditional_render :: Bool
pattern GL_QUERY_BY_REGION_NO_WAIT_NV :: GLenum
pattern GL_QUERY_BY_REGION_WAIT_NV :: GLenum
pattern GL_QUERY_NO_WAIT_NV :: GLenum
pattern GL_QUERY_WAIT_NV :: GLenum

-- | This command is an alias for glBeginConditionalRender.
glBeginConditionalRenderNV :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glEndConditionalRender.
glEndConditionalRenderNV :: MonadIO m => m ()

module Graphics.GL.NV.CommandList

-- | Is the NV_command_list extension supported?
glGetNVCommandList :: MonadIO m => m Bool

-- | Is the NV_command_list extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetNVCommandList in those cases instead.
gl_NV_command_list :: Bool
pattern GL_ALPHA_REF_COMMAND_NV :: GLenum
pattern GL_ATTRIBUTE_ADDRESS_COMMAND_NV :: GLenum
pattern GL_BLEND_COLOR_COMMAND_NV :: GLenum
pattern GL_DRAW_ARRAYS_COMMAND_NV :: GLenum
pattern GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV :: GLenum
pattern GL_DRAW_ARRAYS_STRIP_COMMAND_NV :: GLenum
pattern GL_DRAW_ELEMENTS_COMMAND_NV :: GLenum
pattern GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV :: GLenum
pattern GL_DRAW_ELEMENTS_STRIP_COMMAND_NV :: GLenum
pattern GL_ELEMENT_ADDRESS_COMMAND_NV :: GLenum
pattern GL_FRONT_FACE_COMMAND_NV :: GLenum
pattern GL_LINE_WIDTH_COMMAND_NV :: GLenum
pattern GL_NOP_COMMAND_NV :: GLenum
pattern GL_POLYGON_OFFSET_COMMAND_NV :: GLenum
pattern GL_SCISSOR_COMMAND_NV :: GLenum
pattern GL_STENCIL_REF_COMMAND_NV :: GLenum
pattern GL_TERMINATE_SEQUENCE_COMMAND_NV :: GLenum
pattern GL_UNIFORM_ADDRESS_COMMAND_NV :: GLenum
pattern GL_VIEWPORT_COMMAND_NV :: GLenum
glCallCommandListNV :: MonadIO m => GLuint -> m ()
glCommandListSegmentsNV :: MonadIO m => GLuint -> GLuint -> m ()
glCompileCommandListNV :: MonadIO m => GLuint -> m ()
glCreateCommandListsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateStatesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteCommandListsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteStatesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDrawCommandsAddressNV :: MonadIO m => GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> m ()
glDrawCommandsNV :: MonadIO m => GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> m ()
glDrawCommandsStatesAddressNV :: MonadIO m => Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> m ()
glDrawCommandsStatesNV :: MonadIO m => GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> m ()
glGetCommandHeaderNV :: MonadIO m => GLenum -> GLuint -> m GLuint
glGetStageIndexNV :: MonadIO m => GLenum -> m GLushort
glIsCommandListNV :: MonadIO m => GLuint -> m GLboolean
glIsStateNV :: MonadIO m => GLuint -> m GLboolean
glListDrawCommandsStatesClientNV :: MonadIO m => GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> m ()
glStateCaptureNV :: MonadIO m => GLuint -> GLenum -> m ()

module Graphics.GL.NV.ClipSpaceWScaling

-- | Is the NV_clip_space_w_scaling extension supported?
glGetNVClipSpaceWScaling :: MonadIO m => m Bool

-- | Is the NV_clip_space_w_scaling extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVClipSpaceWScaling in those cases
--   instead.
gl_NV_clip_space_w_scaling :: Bool
pattern GL_VIEWPORT_POSITION_W_SCALE_NV :: GLenum
pattern GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV :: GLenum
pattern GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV :: GLenum
glViewportPositionWScaleNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

module Graphics.GL.NV.BlendEquationAdvanced

-- | Is the NV_blend_equation_advanced extension supported?
glGetNVBlendEquationAdvanced :: MonadIO m => m Bool

-- | Is the NV_blend_equation_advanced extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetNVBlendEquationAdvanced in those
--   cases instead.
gl_NV_blend_equation_advanced :: Bool
pattern GL_BLEND_OVERLAP_NV :: GLenum
pattern GL_BLEND_PREMULTIPLIED_SRC_NV :: GLenum
pattern GL_BLUE_NV :: GLenum
pattern GL_COLORBURN_NV :: GLenum
pattern GL_COLORDODGE_NV :: GLenum
pattern GL_CONJOINT_NV :: GLenum
pattern GL_CONTRAST_NV :: GLenum
pattern GL_DARKEN_NV :: GLenum
pattern GL_DIFFERENCE_NV :: GLenum
pattern GL_DISJOINT_NV :: GLenum
pattern GL_DST_ATOP_NV :: GLenum
pattern GL_DST_IN_NV :: GLenum
pattern GL_DST_NV :: GLenum
pattern GL_DST_OUT_NV :: GLenum
pattern GL_DST_OVER_NV :: GLenum
pattern GL_EXCLUSION_NV :: GLenum
pattern GL_GREEN_NV :: GLenum
pattern GL_HARDLIGHT_NV :: GLenum
pattern GL_HARDMIX_NV :: GLenum
pattern GL_HSL_COLOR_NV :: GLenum
pattern GL_HSL_HUE_NV :: GLenum
pattern GL_HSL_LUMINOSITY_NV :: GLenum
pattern GL_HSL_SATURATION_NV :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_INVERT_OVG_NV :: GLenum
pattern GL_INVERT_RGB_NV :: GLenum
pattern GL_LIGHTEN_NV :: GLenum
pattern GL_LINEARBURN_NV :: GLenum
pattern GL_LINEARDODGE_NV :: GLenum
pattern GL_LINEARLIGHT_NV :: GLenum
pattern GL_MINUS_CLAMPED_NV :: GLenum
pattern GL_MINUS_NV :: GLenum
pattern GL_MULTIPLY_NV :: GLenum
pattern GL_OVERLAY_NV :: GLenum
pattern GL_PINLIGHT_NV :: GLenum
pattern GL_PLUS_CLAMPED_ALPHA_NV :: GLenum
pattern GL_PLUS_CLAMPED_NV :: GLenum
pattern GL_PLUS_DARKER_NV :: GLenum
pattern GL_PLUS_NV :: GLenum
pattern GL_RED_NV :: GLenum
pattern GL_SCREEN_NV :: GLenum
pattern GL_SOFTLIGHT_NV :: GLenum
pattern GL_SRC_ATOP_NV :: GLenum
pattern GL_SRC_IN_NV :: GLenum
pattern GL_SRC_NV :: GLenum
pattern GL_SRC_OUT_NV :: GLenum
pattern GL_SRC_OVER_NV :: GLenum
pattern GL_UNCORRELATED_NV :: GLenum
pattern GL_VIVIDLIGHT_NV :: GLenum
pattern GL_XOR_NV :: GLenum
pattern GL_ZERO :: GLenum

-- | This command is an alias for glBlendBarrier.
glBlendBarrierNV :: MonadIO m => m ()
glBlendParameteriNV :: MonadIO m => GLenum -> GLint -> m ()

module Graphics.GL.NV.BindlessTexture

-- | Is the NV_bindless_texture extension supported?
glGetNVBindlessTexture :: MonadIO m => m Bool

-- | Is the NV_bindless_texture extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetNVBindlessTexture in those cases
--   instead.
gl_NV_bindless_texture :: Bool
glGetImageHandleNV :: MonadIO m => GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
glGetTextureHandleNV :: MonadIO m => GLuint -> m GLuint64
glGetTextureSamplerHandleNV :: MonadIO m => GLuint -> GLuint -> m GLuint64
glIsImageHandleResidentNV :: MonadIO m => GLuint64 -> m GLboolean
glIsTextureHandleResidentNV :: MonadIO m => GLuint64 -> m GLboolean
glMakeImageHandleNonResidentNV :: MonadIO m => GLuint64 -> m ()
glMakeImageHandleResidentNV :: MonadIO m => GLuint64 -> GLenum -> m ()
glMakeTextureHandleNonResidentNV :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleResidentNV :: MonadIO m => GLuint64 -> m ()
glProgramUniformHandleui64NV :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniformHandleui64NV :: MonadIO m => GLint -> GLuint64 -> m ()
glUniformHandleui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()

module Graphics.GL.NV.BindlessMultiDrawIndirectCount

-- | Is the NV_bindless_multi_draw_indirect_count extension
--   supported?
glGetNVBindlessMultiDrawIndirectCount :: MonadIO m => m Bool

-- | Is the NV_bindless_multi_draw_indirect_count extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   glGetNVBindlessMultiDrawIndirectCount in those cases instead.
gl_NV_bindless_multi_draw_indirect_count :: Bool
glMultiDrawArraysIndirectBindlessCountNV :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawElementsIndirectBindlessCountNV :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()

module Graphics.GL.NV.BindlessMultiDrawIndirect

-- | Is the NV_bindless_multi_draw_indirect extension supported?
glGetNVBindlessMultiDrawIndirect :: MonadIO m => m Bool

-- | Is the NV_bindless_multi_draw_indirect extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVBindlessMultiDrawIndirect in those cases instead.
gl_NV_bindless_multi_draw_indirect :: Bool
glMultiDrawArraysIndirectBindlessNV :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawElementsIndirectBindlessNV :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> m ()

module Graphics.GL.NV.AlphaToCoverageDitherControl

-- | Is the NV_alpha_to_coverage_dither_control extension supported?
glGetNVAlphaToCoverageDitherControl :: MonadIO m => m Bool

-- | Is the NV_alpha_to_coverage_dither_control extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetNVAlphaToCoverageDitherControl in those cases instead.
gl_NV_alpha_to_coverage_dither_control :: Bool
pattern GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV :: GLenum
pattern GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV :: GLenum
pattern GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV :: GLenum
pattern GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV :: GLenum
glAlphaToCoverageDitherControlNV :: MonadIO m => GLenum -> m ()

-- | A convenience module, combining all raw modules containing NV
--   extensions.
module Graphics.GL.NV

module Graphics.GL.MESA.WindowPos

-- | Is the MESA_window_pos extension supported?
glGetMESAWindowPos :: MonadIO m => m Bool

-- | Is the MESA_window_pos extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetMESAWindowPos in those cases instead.
gl_MESA_window_pos :: Bool

-- | The vector equivalent of this command is glWindowPos2dvMESA.
--   This command is an alias for glWindowPos2d.
glWindowPos2dMESA :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | This command is an alias for glWindowPos2dv.
glWindowPos2dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos2fvMESA.
--   This command is an alias for glWindowPos2f.
glWindowPos2fMESA :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | This command is an alias for glWindowPos2fv.
glWindowPos2fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos2ivMESA.
--   This command is an alias for glWindowPos2i.
glWindowPos2iMESA :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for glWindowPos2iv.
glWindowPos2ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos2svMESA.
--   This command is an alias for glWindowPos2s.
glWindowPos2sMESA :: MonadIO m => GLshort -> GLshort -> m ()

-- | This command is an alias for glWindowPos2sv.
glWindowPos2svMESA :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is glWindowPos3dvMESA.
--   This command is an alias for glWindowPos3d.
glWindowPos3dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glWindowPos3dv.
glWindowPos3dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos3fvMESA.
--   This command is an alias for glWindowPos3f.
glWindowPos3fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glWindowPos3fv.
glWindowPos3fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos3ivMESA.
--   This command is an alias for glWindowPos3i.
glWindowPos3iMESA :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glWindowPos3iv.
glWindowPos3ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos3svMESA.
--   This command is an alias for glWindowPos3s.
glWindowPos3sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glWindowPos3sv.
glWindowPos3svMESA :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is glWindowPos4dvMESA.
glWindowPos4dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glWindowPos4dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos4fvMESA.
glWindowPos4fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glWindowPos4fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos4ivMESA.
glWindowPos4iMESA :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glWindowPos4ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos4svMESA.
glWindowPos4sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glWindowPos4svMESA :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.MESA.ResizeBuffers

-- | Is the MESA_resize_buffers extension supported?
glGetMESAResizeBuffers :: MonadIO m => m Bool

-- | Is the MESA_resize_buffers extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetMESAResizeBuffers in those cases
--   instead.
gl_MESA_resize_buffers :: Bool
glResizeBuffersMESA :: MonadIO m => m ()

module Graphics.GL.MESA.FramebufferFlipY

-- | Is the MESA_framebuffer_flip_y extension supported?
glGetMESAFramebufferFlipY :: MonadIO m => m Bool

-- | Is the MESA_framebuffer_flip_y extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetMESAFramebufferFlipY in those cases
--   instead.
gl_MESA_framebuffer_flip_y :: Bool
pattern GL_FRAMEBUFFER_FLIP_Y_MESA :: GLenum
glFramebufferParameteriMESA :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glGetFramebufferParameterivMESA :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | A convenience module, combining all raw modules containing MESA
--   extensions.
module Graphics.GL.MESA

module Graphics.GL.KHR.Robustness

-- | Is the KHR_robustness extension supported?
glGetKHRRobustness :: MonadIO m => m Bool

-- | Is the KHR_robustness extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetKHRRobustness in those cases instead.
gl_KHR_robustness :: Bool
pattern GL_CONTEXT_LOST :: GLenum
pattern GL_CONTEXT_ROBUST_ACCESS :: GLenum
pattern GL_GUILTY_CONTEXT_RESET :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NO_RESET_NOTIFICATION :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET :: GLenum

-- | Manual page for OpenGL 4.x.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.KHR.ParallelShaderCompile

-- | Is the KHR_parallel_shader_compile extension supported?
glGetKHRParallelShaderCompile :: MonadIO m => m Bool

-- | Is the KHR_parallel_shader_compile extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetKHRParallelShaderCompile in those
--   cases instead.
gl_KHR_parallel_shader_compile :: Bool
pattern GL_COMPLETION_STATUS_KHR :: GLenum
pattern GL_MAX_SHADER_COMPILER_THREADS_KHR :: GLenum
glMaxShaderCompilerThreadsKHR :: MonadIO m => GLuint -> m ()

module Graphics.GL.KHR.DebugCore

-- | Is the KHR_debug extension supported?
glGetKHRDebug :: MonadIO m => m Bool

-- | Is the KHR_debug extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use glGetKHRDebug in those cases instead.
gl_KHR_debug :: Bool
pattern GL_BUFFER :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

module Graphics.GL.KHR.DebugCompatibility

-- | Is the KHR_debug extension supported?
glGetKHRDebug :: MonadIO m => m Bool

-- | Is the KHR_debug extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use glGetKHRDebug in those cases instead.
gl_KHR_debug :: Bool
pattern GL_BUFFER :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DISPLAY_LIST :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

module Graphics.GL.KHR.BlendEquationAdvanced

-- | Is the KHR_blend_equation_advanced extension supported?
glGetKHRBlendEquationAdvanced :: MonadIO m => m Bool

-- | Is the KHR_blend_equation_advanced extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetKHRBlendEquationAdvanced in those
--   cases instead.
gl_KHR_blend_equation_advanced :: Bool
pattern GL_COLORBURN_KHR :: GLenum
pattern GL_COLORDODGE_KHR :: GLenum
pattern GL_DARKEN_KHR :: GLenum
pattern GL_DIFFERENCE_KHR :: GLenum
pattern GL_EXCLUSION_KHR :: GLenum
pattern GL_HARDLIGHT_KHR :: GLenum
pattern GL_HSL_COLOR_KHR :: GLenum
pattern GL_HSL_HUE_KHR :: GLenum
pattern GL_HSL_LUMINOSITY_KHR :: GLenum
pattern GL_HSL_SATURATION_KHR :: GLenum
pattern GL_LIGHTEN_KHR :: GLenum
pattern GL_MULTIPLY_KHR :: GLenum
pattern GL_OVERLAY_KHR :: GLenum
pattern GL_SCREEN_KHR :: GLenum
pattern GL_SOFTLIGHT_KHR :: GLenum

-- | This command is an alias for glBlendBarrier.
glBlendBarrierKHR :: MonadIO m => m ()

-- | A convenience module, combining all raw modules containing KHR
--   extensions.
module Graphics.GL.KHR

module Graphics.GL.INTEL.PerformanceQuery

-- | Is the INTEL_performance_query extension supported?
glGetINTELPerformanceQuery :: MonadIO m => m Bool

-- | Is the INTEL_performance_query extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetINTELPerformanceQuery in those cases
--   instead.
gl_INTEL_performance_query :: Bool
pattern GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_EVENT_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_RAW_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL :: GLenum
pattern GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL :: GLenum
pattern GL_PERFQUERY_DONOT_FLUSH_INTEL :: GLenum
pattern GL_PERFQUERY_FLUSH_INTEL :: GLenum
pattern GL_PERFQUERY_GLOBAL_CONTEXT_INTEL :: GLbitfield
pattern GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL :: GLenum
pattern GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL :: GLenum
pattern GL_PERFQUERY_SINGLE_CONTEXT_INTEL :: GLbitfield
pattern GL_PERFQUERY_WAIT_INTEL :: GLenum
glBeginPerfQueryINTEL :: MonadIO m => GLuint -> m ()
glCreatePerfQueryINTEL :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glDeletePerfQueryINTEL :: MonadIO m => GLuint -> m ()
glEndPerfQueryINTEL :: MonadIO m => GLuint -> m ()
glGetFirstPerfQueryIdINTEL :: MonadIO m => Ptr GLuint -> m ()
glGetNextPerfQueryIdINTEL :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glGetPerfCounterInfoINTEL :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> m ()
glGetPerfQueryDataINTEL :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> m ()
glGetPerfQueryIdByNameINTEL :: MonadIO m => Ptr GLchar -> Ptr GLuint -> m ()
glGetPerfQueryInfoINTEL :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

module Graphics.GL.INTEL.ParallelArrays

-- | Is the INTEL_parallel_arrays extension supported?
glGetINTELParallelArrays :: MonadIO m => m Bool

-- | Is the INTEL_parallel_arrays extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetINTELParallelArrays in those cases
--   instead.
gl_INTEL_parallel_arrays :: Bool
pattern GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
pattern GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
pattern GL_PARALLEL_ARRAYS_INTEL :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
pattern GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
glColorPointervINTEL :: MonadIO m => GLint -> GLenum -> Ptr (Ptr a) -> m ()
glNormalPointervINTEL :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()
glTexCoordPointervINTEL :: MonadIO m => GLint -> GLenum -> Ptr (Ptr a) -> m ()
glVertexPointervINTEL :: MonadIO m => GLint -> GLenum -> Ptr (Ptr a) -> m ()

module Graphics.GL.INTEL.MapTexture

-- | Is the INTEL_map_texture extension supported?
glGetINTELMapTexture :: MonadIO m => m Bool

-- | Is the INTEL_map_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetINTELMapTexture in those cases instead.
gl_INTEL_map_texture :: Bool
pattern GL_LAYOUT_DEFAULT_INTEL :: GLenum
pattern GL_LAYOUT_LINEAR_CPU_CACHED_INTEL :: GLenum
pattern GL_LAYOUT_LINEAR_INTEL :: GLenum
pattern GL_TEXTURE_MEMORY_LAYOUT_INTEL :: GLenum
glMapTexture2DINTEL :: MonadIO m => GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> m (Ptr a)
glSyncTextureINTEL :: MonadIO m => GLuint -> m ()
glUnmapTexture2DINTEL :: MonadIO m => GLuint -> GLint -> m ()

module Graphics.GL.INTEL.FramebufferCmaa

-- | Is the INTEL_framebuffer_CMAA extension supported?
glGetINTELFramebufferCmaa :: MonadIO m => m Bool

-- | Is the INTEL_framebuffer_CMAA extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetINTELFramebufferCmaa in those cases
--   instead.
gl_INTEL_framebuffer_CMAA :: Bool
glApplyFramebufferAttachmentCMAAINTEL :: MonadIO m => m ()

-- | A convenience module, combining all raw modules containing INTEL
--   extensions.
module Graphics.GL.INTEL

module Graphics.GL.INGR.BlendFuncSeparate

-- | Is the INGR_blend_func_separate extension supported?
glGetINGRBlendFuncSeparate :: MonadIO m => m Bool

-- | Is the INGR_blend_func_separate extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetINGRBlendFuncSeparate in those cases
--   instead.
gl_INGR_blend_func_separate :: Bool

-- | This command is an alias for glBlendFuncSeparate.
glBlendFuncSeparateINGR :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | A convenience module, combining all raw modules containing INGR
--   extensions.
module Graphics.GL.INGR

module Graphics.GL.IBM.VertexArrayLists

-- | Is the IBM_vertex_array_lists extension supported?
glGetIBMVertexArrayLists :: MonadIO m => m Bool

-- | Is the IBM_vertex_array_lists extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetIBMVertexArrayLists in those cases
--   instead.
gl_IBM_vertex_array_lists :: Bool
pattern GL_COLOR_ARRAY_LIST_IBM :: GLenum
pattern GL_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_EDGE_FLAG_ARRAY_LIST_IBM :: GLenum
pattern GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_LIST_IBM :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_INDEX_ARRAY_LIST_IBM :: GLenum
pattern GL_INDEX_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_NORMAL_ARRAY_LIST_IBM :: GLenum
pattern GL_NORMAL_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_LIST_IBM :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_LIST_IBM :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM :: GLenum
pattern GL_VERTEX_ARRAY_LIST_IBM :: GLenum
pattern GL_VERTEX_ARRAY_LIST_STRIDE_IBM :: GLenum
glColorPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glEdgeFlagPointerListIBM :: MonadIO m => GLint -> Ptr (Ptr GLboolean) -> GLint -> m ()
glFogCoordPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glIndexPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glNormalPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glSecondaryColorPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glTexCoordPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glVertexPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()

module Graphics.GL.IBM.StaticData

-- | Is the IBM_static_data extension supported?
glGetIBMStaticData :: MonadIO m => m Bool

-- | Is the IBM_static_data extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetIBMStaticData in those cases instead.
gl_IBM_static_data :: Bool
pattern GL_ALL_STATIC_DATA_IBM :: GLenum
pattern GL_STATIC_VERTEX_ARRAY_IBM :: GLenum
glFlushStaticDataIBM :: MonadIO m => GLenum -> m ()

module Graphics.GL.IBM.MultimodeDrawArrays

-- | Is the IBM_multimode_draw_arrays extension supported?
glGetIBMMultimodeDrawArrays :: MonadIO m => m Bool

-- | Is the IBM_multimode_draw_arrays extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetIBMMultimodeDrawArrays in those cases
--   instead.
gl_IBM_multimode_draw_arrays :: Bool
glMultiModeDrawArraysIBM :: MonadIO m => Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> m ()
glMultiModeDrawElementsIBM :: MonadIO m => Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> m ()

-- | A convenience module, combining all raw modules containing IBM
--   extensions.
module Graphics.GL.IBM

module Graphics.GL.HP.ImageTransform

-- | Is the HP_image_transform extension supported?
glGetHPImageTransform :: MonadIO m => m Bool

-- | Is the HP_image_transform extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetHPImageTransform in those cases instead.
gl_HP_image_transform :: Bool
pattern GL_AVERAGE_HP :: GLenum
pattern GL_CUBIC_HP :: GLenum
pattern GL_IMAGE_CUBIC_WEIGHT_HP :: GLenum
pattern GL_IMAGE_MAG_FILTER_HP :: GLenum
pattern GL_IMAGE_MIN_FILTER_HP :: GLenum
pattern GL_IMAGE_ROTATE_ANGLE_HP :: GLenum
pattern GL_IMAGE_ROTATE_ORIGIN_X_HP :: GLenum
pattern GL_IMAGE_ROTATE_ORIGIN_Y_HP :: GLenum
pattern GL_IMAGE_SCALE_X_HP :: GLenum
pattern GL_IMAGE_SCALE_Y_HP :: GLenum
pattern GL_IMAGE_TRANSFORM_2D_HP :: GLenum
pattern GL_IMAGE_TRANSLATE_X_HP :: GLenum
pattern GL_IMAGE_TRANSLATE_Y_HP :: GLenum
pattern GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
pattern GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
glGetImageTransformParameterfvHP :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetImageTransformParameterivHP :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glImageTransformParameterfHP :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glImageTransformParameterfvHP :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glImageTransformParameteriHP :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glImageTransformParameterivHP :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | A convenience module, combining all raw modules containing HP
--   extensions.
module Graphics.GL.HP

module Graphics.GL.GREMEDY.StringMarker

-- | Is the GREMEDY_string_marker extension supported?
glGetGREMEDYStringMarker :: MonadIO m => m Bool

-- | Is the GREMEDY_string_marker extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetGREMEDYStringMarker in those cases
--   instead.
gl_GREMEDY_string_marker :: Bool
glStringMarkerGREMEDY :: MonadIO m => GLsizei -> Ptr a -> m ()

module Graphics.GL.GREMEDY.FrameTerminator

-- | Is the GREMEDY_frame_terminator extension supported?
glGetGREMEDYFrameTerminator :: MonadIO m => m Bool

-- | Is the GREMEDY_frame_terminator extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetGREMEDYFrameTerminator in those cases
--   instead.
gl_GREMEDY_frame_terminator :: Bool
glFrameTerminatorGREMEDY :: MonadIO m => m ()

-- | A convenience module, combining all raw modules containing GREMEDY
--   extensions.
module Graphics.GL.GREMEDY

module Graphics.GL.EXT.X11SyncObject

-- | Is the EXT_x11_sync_object extension supported?
glGetEXTX11SyncObject :: MonadIO m => m Bool

-- | Is the EXT_x11_sync_object extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTX11SyncObject in those cases
--   instead.
gl_EXT_x11_sync_object :: Bool
pattern GL_SYNC_X11_FENCE_EXT :: GLenum
glImportSyncEXT :: MonadIO m => GLenum -> GLintptr -> GLbitfield -> m GLsync

module Graphics.GL.EXT.WindowRectangles

-- | Is the EXT_window_rectangles extension supported?
glGetEXTWindowRectangles :: MonadIO m => m Bool

-- | Is the EXT_window_rectangles extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTWindowRectangles in those cases
--   instead.
gl_EXT_window_rectangles :: Bool
pattern GL_EXCLUSIVE_EXT :: GLenum
pattern GL_INCLUSIVE_EXT :: GLenum
pattern GL_MAX_WINDOW_RECTANGLES_EXT :: GLenum
pattern GL_NUM_WINDOW_RECTANGLES_EXT :: GLenum
pattern GL_WINDOW_RECTANGLE_EXT :: GLenum
pattern GL_WINDOW_RECTANGLE_MODE_EXT :: GLenum
glWindowRectanglesEXT :: MonadIO m => GLenum -> GLsizei -> Ptr GLint -> m ()

module Graphics.GL.EXT.Win32KeyedMutex

-- | Is the EXT_win32_keyed_mutex extension supported?
glGetEXTWin32KeyedMutex :: MonadIO m => m Bool

-- | Is the EXT_win32_keyed_mutex extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTWin32KeyedMutex in those cases
--   instead.
gl_EXT_win32_keyed_mutex :: Bool
glAcquireKeyedMutexWin32EXT :: MonadIO m => GLuint -> GLuint64 -> GLuint -> m GLboolean
glReleaseKeyedMutexWin32EXT :: MonadIO m => GLuint -> GLuint64 -> m GLboolean

module Graphics.GL.EXT.VertexWeighting

-- | Is the EXT_vertex_weighting extension supported?
glGetEXTVertexWeighting :: MonadIO m => m Bool

-- | Is the EXT_vertex_weighting extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTVertexWeighting in those cases
--   instead.
gl_EXT_vertex_weighting :: Bool
pattern GL_CURRENT_VERTEX_WEIGHT_EXT :: GLenum
pattern GL_MODELVIEW0_EXT :: GLenum
pattern GL_MODELVIEW0_MATRIX_EXT :: GLenum
pattern GL_MODELVIEW0_STACK_DEPTH_EXT :: GLenum
pattern GL_MODELVIEW1_EXT :: GLenum
pattern GL_MODELVIEW1_MATRIX_EXT :: GLenum
pattern GL_MODELVIEW1_STACK_DEPTH_EXT :: GLenum
pattern GL_VERTEX_WEIGHTING_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT :: GLenum
pattern GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT :: GLenum
glVertexWeightPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is glVertexWeightfvEXT.
glVertexWeightfEXT :: MonadIO m => GLfloat -> m ()
glVertexWeightfvEXT :: MonadIO m => Ptr GLfloat -> m ()

module Graphics.GL.EXT.VertexShader

-- | Is the EXT_vertex_shader extension supported?
glGetEXTVertexShader :: MonadIO m => m Bool

-- | Is the EXT_vertex_shader extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTVertexShader in those cases instead.
gl_EXT_vertex_shader :: Bool
pattern GL_CURRENT_VERTEX_EXT :: GLenum
pattern GL_FULL_RANGE_EXT :: GLenum
pattern GL_INVARIANT_DATATYPE_EXT :: GLenum
pattern GL_INVARIANT_EXT :: GLenum
pattern GL_INVARIANT_VALUE_EXT :: GLenum
pattern GL_LOCAL_CONSTANT_DATATYPE_EXT :: GLenum
pattern GL_LOCAL_CONSTANT_EXT :: GLenum
pattern GL_LOCAL_CONSTANT_VALUE_EXT :: GLenum
pattern GL_LOCAL_EXT :: GLenum
pattern GL_MATRIX_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_LOCALS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
pattern GL_MAX_VERTEX_SHADER_VARIANTS_EXT :: GLenum
pattern GL_MVP_MATRIX_EXT :: GLenum
pattern GL_NEGATIVE_ONE_EXT :: GLenum
pattern GL_NEGATIVE_W_EXT :: GLenum
pattern GL_NEGATIVE_X_EXT :: GLenum
pattern GL_NEGATIVE_Y_EXT :: GLenum
pattern GL_NEGATIVE_Z_EXT :: GLenum
pattern GL_NORMALIZED_RANGE_EXT :: GLenum
pattern GL_ONE_EXT :: GLenum
pattern GL_OP_ADD_EXT :: GLenum
pattern GL_OP_CLAMP_EXT :: GLenum
pattern GL_OP_CROSS_PRODUCT_EXT :: GLenum
pattern GL_OP_DOT3_EXT :: GLenum
pattern GL_OP_DOT4_EXT :: GLenum
pattern GL_OP_EXP_BASE_2_EXT :: GLenum
pattern GL_OP_FLOOR_EXT :: GLenum
pattern GL_OP_FRAC_EXT :: GLenum
pattern GL_OP_INDEX_EXT :: GLenum
pattern GL_OP_LOG_BASE_2_EXT :: GLenum
pattern GL_OP_MADD_EXT :: GLenum
pattern GL_OP_MAX_EXT :: GLenum
pattern GL_OP_MIN_EXT :: GLenum
pattern GL_OP_MOV_EXT :: GLenum
pattern GL_OP_MULTIPLY_MATRIX_EXT :: GLenum
pattern GL_OP_MUL_EXT :: GLenum
pattern GL_OP_NEGATE_EXT :: GLenum
pattern GL_OP_POWER_EXT :: GLenum
pattern GL_OP_RECIP_EXT :: GLenum
pattern GL_OP_RECIP_SQRT_EXT :: GLenum
pattern GL_OP_ROUND_EXT :: GLenum
pattern GL_OP_SET_GE_EXT :: GLenum
pattern GL_OP_SET_LT_EXT :: GLenum
pattern GL_OP_SUB_EXT :: GLenum
pattern GL_OUTPUT_COLOR0_EXT :: GLenum
pattern GL_OUTPUT_COLOR1_EXT :: GLenum
pattern GL_OUTPUT_FOG_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD0_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD10_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD11_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD12_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD13_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD14_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD15_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD16_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD17_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD18_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD19_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD1_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD20_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD21_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD22_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD23_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD24_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD25_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD26_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD27_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD28_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD29_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD2_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD30_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD31_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD3_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD4_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD5_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD6_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD7_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD8_EXT :: GLenum
pattern GL_OUTPUT_TEXTURE_COORD9_EXT :: GLenum
pattern GL_OUTPUT_VERTEX_EXT :: GLenum
pattern GL_SCALAR_EXT :: GLenum
pattern GL_VARIANT_ARRAY_EXT :: GLenum
pattern GL_VARIANT_ARRAY_POINTER_EXT :: GLenum
pattern GL_VARIANT_ARRAY_STRIDE_EXT :: GLenum
pattern GL_VARIANT_ARRAY_TYPE_EXT :: GLenum
pattern GL_VARIANT_DATATYPE_EXT :: GLenum
pattern GL_VARIANT_EXT :: GLenum
pattern GL_VARIANT_VALUE_EXT :: GLenum
pattern GL_VECTOR_EXT :: GLenum
pattern GL_VERTEX_SHADER_BINDING_EXT :: GLenum
pattern GL_VERTEX_SHADER_EXT :: GLenum
pattern GL_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
pattern GL_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
pattern GL_VERTEX_SHADER_LOCALS_EXT :: GLenum
pattern GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
pattern GL_VERTEX_SHADER_OPTIMIZED_EXT :: GLenum
pattern GL_VERTEX_SHADER_VARIANTS_EXT :: GLenum
pattern GL_W_EXT :: GLenum
pattern GL_X_EXT :: GLenum
pattern GL_Y_EXT :: GLenum
pattern GL_ZERO_EXT :: GLenum
pattern GL_Z_EXT :: GLenum
glBeginVertexShaderEXT :: MonadIO m => m ()
glBindLightParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindMaterialParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindParameterEXT :: MonadIO m => GLenum -> m GLuint
glBindTexGenParameterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> m GLuint
glBindTextureUnitParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindVertexShaderEXT :: MonadIO m => GLuint -> m ()
glDeleteVertexShaderEXT :: MonadIO m => GLuint -> m ()
glDisableVariantClientStateEXT :: MonadIO m => GLuint -> m ()
glEnableVariantClientStateEXT :: MonadIO m => GLuint -> m ()
glEndVertexShaderEXT :: MonadIO m => m ()
glExtractComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glGenSymbolsEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m GLuint
glGenVertexShadersEXT :: MonadIO m => GLuint -> m GLuint
glGetInvariantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetInvariantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetInvariantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetLocalConstantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetLocalConstantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetLocalConstantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVariantBooleanvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLboolean -> m ()
glGetVariantFloatvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVariantIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVariantPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()
glInsertComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glIsVariantEnabledEXT :: MonadIO m => GLuint -> GLenum -> m GLboolean
glSetInvariantEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glSetLocalConstantEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glShaderOp1EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glShaderOp2EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> m ()
glShaderOp3EXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glSwizzleEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glVariantPointerEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr a -> m ()
glVariantbvEXT :: MonadIO m => GLuint -> Ptr GLbyte -> m ()
glVariantdvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVariantfvEXT :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glVariantivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()
glVariantsvEXT :: MonadIO m => GLuint -> Ptr GLshort -> m ()
glVariantubvEXT :: MonadIO m => GLuint -> Ptr GLubyte -> m ()
glVariantuivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glVariantusvEXT :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glWriteMaskEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

module Graphics.GL.EXT.VertexAttrib64Bit

-- | Is the EXT_vertex_attrib_64bit extension supported?
glGetEXTVertexAttrib64Bit :: MonadIO m => m Bool

-- | Is the EXT_vertex_attrib_64bit extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTVertexAttrib64Bit in those cases
--   instead.
gl_EXT_vertex_attrib_64bit :: Bool
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLE_MAT2_EXT :: GLenum
pattern GL_DOUBLE_MAT2x3_EXT :: GLenum
pattern GL_DOUBLE_MAT2x4_EXT :: GLenum
pattern GL_DOUBLE_MAT3_EXT :: GLenum
pattern GL_DOUBLE_MAT3x2_EXT :: GLenum
pattern GL_DOUBLE_MAT3x4_EXT :: GLenum
pattern GL_DOUBLE_MAT4_EXT :: GLenum
pattern GL_DOUBLE_MAT4x2_EXT :: GLenum
pattern GL_DOUBLE_MAT4x3_EXT :: GLenum
pattern GL_DOUBLE_VEC2_EXT :: GLenum
pattern GL_DOUBLE_VEC3_EXT :: GLenum
pattern GL_DOUBLE_VEC4_EXT :: GLenum

-- | This command is an alias for glGetVertexAttribLdv.
glGetVertexAttribLdvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for glVertexAttribL1d.
glVertexAttribL1dEXT :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for glVertexAttribL1dv.
glVertexAttribL1dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glVertexAttribL2d.
glVertexAttribL2dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttribL2dv.
glVertexAttribL2dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glVertexAttribL3d.
glVertexAttribL3dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttribL3dv.
glVertexAttribL3dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glVertexAttribL4d.
glVertexAttribL4dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttribL4dv.
glVertexAttribL4dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glVertexAttribLPointer.
glVertexAttribLPointerEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.EXT.VertexArray

-- | Is the EXT_vertex_array extension supported?
glGetEXTVertexArray :: MonadIO m => m Bool

-- | Is the EXT_vertex_array extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTVertexArray in those cases instead.
gl_EXT_vertex_array :: Bool
pattern GL_COLOR_ARRAY_COUNT_EXT :: GLenum
pattern GL_COLOR_ARRAY_EXT :: GLenum
pattern GL_COLOR_ARRAY_POINTER_EXT :: GLenum
pattern GL_COLOR_ARRAY_SIZE_EXT :: GLenum
pattern GL_COLOR_ARRAY_STRIDE_EXT :: GLenum
pattern GL_COLOR_ARRAY_TYPE_EXT :: GLenum
pattern GL_EDGE_FLAG_ARRAY_COUNT_EXT :: GLenum
pattern GL_EDGE_FLAG_ARRAY_EXT :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER_EXT :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE_EXT :: GLenum
pattern GL_INDEX_ARRAY_COUNT_EXT :: GLenum
pattern GL_INDEX_ARRAY_EXT :: GLenum
pattern GL_INDEX_ARRAY_POINTER_EXT :: GLenum
pattern GL_INDEX_ARRAY_STRIDE_EXT :: GLenum
pattern GL_INDEX_ARRAY_TYPE_EXT :: GLenum
pattern GL_NORMAL_ARRAY_COUNT_EXT :: GLenum
pattern GL_NORMAL_ARRAY_EXT :: GLenum
pattern GL_NORMAL_ARRAY_POINTER_EXT :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE_EXT :: GLenum
pattern GL_NORMAL_ARRAY_TYPE_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_COUNT_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE_EXT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE_EXT :: GLenum
pattern GL_VERTEX_ARRAY_COUNT_EXT :: GLenum
pattern GL_VERTEX_ARRAY_EXT :: GLenum
pattern GL_VERTEX_ARRAY_POINTER_EXT :: GLenum
pattern GL_VERTEX_ARRAY_SIZE_EXT :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE_EXT :: GLenum
pattern GL_VERTEX_ARRAY_TYPE_EXT :: GLenum

-- | This command is an alias for glArrayElement.
glArrayElementEXT :: MonadIO m => GLint -> m ()
glColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glDrawArrays.
glDrawArraysEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glEdgeFlagPointerEXT :: MonadIO m => GLsizei -> GLsizei -> Ptr GLboolean -> m ()

-- | This command is an alias for glGetPointerv.
glGetPointervEXT :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()
glIndexPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glNormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glTexCoordPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glVertexPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()

module Graphics.GL.EXT.TransformFeedback

-- | Is the EXT_transform_feedback extension supported?
glGetEXTTransformFeedback :: MonadIO m => m Bool

-- | Is the EXT_transform_feedback extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTransformFeedback in those cases
--   instead.
gl_EXT_transform_feedback :: Bool
pattern GL_INTERLEAVED_ATTRIBS_EXT :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: GLenum
pattern GL_PRIMITIVES_GENERATED_EXT :: GLenum
pattern GL_RASTERIZER_DISCARD_EXT :: GLenum
pattern GL_SEPARATE_ATTRIBS_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: GLenum

-- | This command is an alias for glBeginTransformFeedback.
glBeginTransformFeedbackEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glBindBufferBase.
glBindBufferBaseEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()
glBindBufferOffsetEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> m ()

-- | This command is an alias for glBindBufferRange.
glBindBufferRangeEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | This command is an alias for glEndTransformFeedback.
glEndTransformFeedbackEXT :: MonadIO m => m ()

-- | This command is an alias for glGetTransformFeedbackVarying.
glGetTransformFeedbackVaryingEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | This command is an alias for glTransformFeedbackVaryings.
glTransformFeedbackVaryingsEXT :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

module Graphics.GL.EXT.TimerQuery

-- | Is the EXT_timer_query extension supported?
glGetEXTTimerQuery :: MonadIO m => m Bool

-- | Is the EXT_timer_query extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTTimerQuery in those cases instead.
gl_EXT_timer_query :: Bool
pattern GL_TIME_ELAPSED_EXT :: GLenum

-- | This command is an alias for glGetQueryObjecti64v.
glGetQueryObjecti64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | This command is an alias for glGetQueryObjectui64v.
glGetQueryObjectui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

module Graphics.GL.EXT.TexturePerturbNormal

-- | Is the EXT_texture_perturb_normal extension supported?
glGetEXTTexturePerturbNormal :: MonadIO m => m Bool

-- | Is the EXT_texture_perturb_normal extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTTexturePerturbNormal in those
--   cases instead.
gl_EXT_texture_perturb_normal :: Bool
pattern GL_PERTURB_EXT :: GLenum
pattern GL_TEXTURE_NORMAL_EXT :: GLenum
glTextureNormalEXT :: MonadIO m => GLenum -> m ()

module Graphics.GL.EXT.TextureObject

-- | Is the EXT_texture_object extension supported?
glGetEXTTextureObject :: MonadIO m => m Bool

-- | Is the EXT_texture_object extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTTextureObject in those cases instead.
gl_EXT_texture_object :: Bool
pattern GL_TEXTURE_1D_BINDING_EXT :: GLenum
pattern GL_TEXTURE_2D_BINDING_EXT :: GLenum
pattern GL_TEXTURE_3D_BINDING_EXT :: GLenum
pattern GL_TEXTURE_PRIORITY_EXT :: GLenum
pattern GL_TEXTURE_RESIDENT_EXT :: GLenum
glAreTexturesResidentEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | This command is an alias for glBindTexture.
glBindTextureEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDeleteTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glIsTextureEXT :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glPrioritizeTextures.
glPrioritizeTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLclampf -> m ()

module Graphics.GL.EXT.TextureInteger

-- | Is the EXT_texture_integer extension supported?
glGetEXTTextureInteger :: MonadIO m => m Bool

-- | Is the EXT_texture_integer extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureInteger in those cases
--   instead.
gl_EXT_texture_integer :: Bool
pattern GL_ALPHA16I_EXT :: GLenum
pattern GL_ALPHA16UI_EXT :: GLenum
pattern GL_ALPHA32I_EXT :: GLenum
pattern GL_ALPHA32UI_EXT :: GLenum
pattern GL_ALPHA8I_EXT :: GLenum
pattern GL_ALPHA8UI_EXT :: GLenum
pattern GL_ALPHA_INTEGER_EXT :: GLenum
pattern GL_BGRA_INTEGER_EXT :: GLenum
pattern GL_BGR_INTEGER_EXT :: GLenum
pattern GL_BLUE_INTEGER_EXT :: GLenum
pattern GL_GREEN_INTEGER_EXT :: GLenum
pattern GL_INTENSITY16I_EXT :: GLenum
pattern GL_INTENSITY16UI_EXT :: GLenum
pattern GL_INTENSITY32I_EXT :: GLenum
pattern GL_INTENSITY32UI_EXT :: GLenum
pattern GL_INTENSITY8I_EXT :: GLenum
pattern GL_INTENSITY8UI_EXT :: GLenum
pattern GL_LUMINANCE16I_EXT :: GLenum
pattern GL_LUMINANCE16UI_EXT :: GLenum
pattern GL_LUMINANCE32I_EXT :: GLenum
pattern GL_LUMINANCE32UI_EXT :: GLenum
pattern GL_LUMINANCE8I_EXT :: GLenum
pattern GL_LUMINANCE8UI_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA16I_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA16UI_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA32I_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA32UI_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA8I_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA8UI_EXT :: GLenum
pattern GL_LUMINANCE_ALPHA_INTEGER_EXT :: GLenum
pattern GL_LUMINANCE_INTEGER_EXT :: GLenum
pattern GL_RED_INTEGER_EXT :: GLenum
pattern GL_RGB16I_EXT :: GLenum
pattern GL_RGB16UI_EXT :: GLenum
pattern GL_RGB32I_EXT :: GLenum
pattern GL_RGB32UI_EXT :: GLenum
pattern GL_RGB8I_EXT :: GLenum
pattern GL_RGB8UI_EXT :: GLenum
pattern GL_RGBA16I_EXT :: GLenum
pattern GL_RGBA16UI_EXT :: GLenum
pattern GL_RGBA32I_EXT :: GLenum
pattern GL_RGBA32UI_EXT :: GLenum
pattern GL_RGBA8I_EXT :: GLenum
pattern GL_RGBA8UI_EXT :: GLenum
pattern GL_RGBA_INTEGER_EXT :: GLenum
pattern GL_RGBA_INTEGER_MODE_EXT :: GLenum
pattern GL_RGB_INTEGER_EXT :: GLenum
glClearColorIiEXT :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glClearColorIuiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glGetTexParameterIiv.
glGetTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetTexParameterIuiv.
glGetTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for glTexParameterIiv.
glTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glTexParameterIuiv.
glTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

module Graphics.GL.EXT.TextureBufferObject

-- | Is the EXT_texture_buffer_object extension supported?
glGetEXTTextureBufferObject :: MonadIO m => m Bool

-- | Is the EXT_texture_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTTextureBufferObject in those cases
--   instead.
gl_EXT_texture_buffer_object :: Bool
pattern GL_MAX_TEXTURE_BUFFER_SIZE_EXT :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_EXT :: GLenum
pattern GL_TEXTURE_BUFFER_FORMAT_EXT :: GLenum

-- | This command is an alias for glTexBuffer.
glTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

module Graphics.GL.EXT.TextureArray

-- | Is the EXT_texture_array extension supported?
glGetEXTTextureArray :: MonadIO m => m Bool

-- | Is the EXT_texture_array extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTTextureArray in those cases instead.
gl_EXT_texture_array :: Bool
pattern GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS_EXT :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY_EXT :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_1D_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_2D_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY_EXT :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY_EXT :: GLenum

-- | This command is an alias for glFramebufferTextureLayer.
glFramebufferTextureLayerEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

module Graphics.GL.EXT.Texture3D

-- | Is the EXT_texture3D extension supported?
glGetEXTTexture3D :: MonadIO m => m Bool

-- | Is the EXT_texture3D extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTTexture3D in those cases instead.
gl_EXT_texture3D :: Bool
pattern GL_MAX_3D_TEXTURE_SIZE_EXT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT_EXT :: GLenum
pattern GL_PACK_SKIP_IMAGES_EXT :: GLenum
pattern GL_PROXY_TEXTURE_3D_EXT :: GLenum
pattern GL_TEXTURE_3D_EXT :: GLenum
pattern GL_TEXTURE_DEPTH_EXT :: GLenum
pattern GL_TEXTURE_WRAP_R_EXT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT_EXT :: GLenum
pattern GL_UNPACK_SKIP_IMAGES_EXT :: GLenum

-- | This command is an alias for glTexImage3D.
glTexImage3DEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glTexSubImage3D.
glTexSubImage3DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

module Graphics.GL.EXT.Subtexture

-- | Is the EXT_subtexture extension supported?
glGetEXTSubtexture :: MonadIO m => m Bool

-- | Is the EXT_subtexture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTSubtexture in those cases instead.
gl_EXT_subtexture :: Bool

-- | This command is an alias for glTexSubImage1D.
glTexSubImage1DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glTexSubImage2D.
glTexSubImage2DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

module Graphics.GL.EXT.StencilTwoSide

-- | Is the EXT_stencil_two_side extension supported?
glGetEXTStencilTwoSide :: MonadIO m => m Bool

-- | Is the EXT_stencil_two_side extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTStencilTwoSide in those cases
--   instead.
gl_EXT_stencil_two_side :: Bool
pattern GL_ACTIVE_STENCIL_FACE_EXT :: GLenum
pattern GL_STENCIL_TEST_TWO_SIDE_EXT :: GLenum
glActiveStencilFaceEXT :: MonadIO m => GLenum -> m ()

module Graphics.GL.EXT.StencilClearTag

-- | Is the EXT_stencil_clear_tag extension supported?
glGetEXTStencilClearTag :: MonadIO m => m Bool

-- | Is the EXT_stencil_clear_tag extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTStencilClearTag in those cases
--   instead.
gl_EXT_stencil_clear_tag :: Bool
pattern GL_STENCIL_CLEAR_TAG_VALUE_EXT :: GLenum
pattern GL_STENCIL_TAG_BITS_EXT :: GLenum
glStencilClearTagEXT :: MonadIO m => GLsizei -> GLuint -> m ()

module Graphics.GL.EXT.ShaderImageLoadStore

-- | Is the EXT_shader_image_load_store extension supported?
glGetEXTShaderImageLoadStore :: MonadIO m => m Bool

-- | Is the EXT_shader_image_load_store extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTShaderImageLoadStore in those
--   cases instead.
gl_EXT_shader_image_load_store :: Bool
pattern GL_ALL_BARRIER_BITS_EXT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BARRIER_BIT_EXT :: GLbitfield
pattern GL_BUFFER_UPDATE_BARRIER_BIT_EXT :: GLbitfield
pattern GL_COMMAND_BARRIER_BIT_EXT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BARRIER_BIT_EXT :: GLbitfield
pattern GL_FRAMEBUFFER_BARRIER_BIT_EXT :: GLbitfield
pattern GL_IMAGE_1D_ARRAY_EXT :: GLenum
pattern GL_IMAGE_1D_EXT :: GLenum
pattern GL_IMAGE_2D_ARRAY_EXT :: GLenum
pattern GL_IMAGE_2D_EXT :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
pattern GL_IMAGE_2D_RECT_EXT :: GLenum
pattern GL_IMAGE_3D_EXT :: GLenum
pattern GL_IMAGE_BINDING_ACCESS_EXT :: GLenum
pattern GL_IMAGE_BINDING_FORMAT_EXT :: GLenum
pattern GL_IMAGE_BINDING_LAYERED_EXT :: GLenum
pattern GL_IMAGE_BINDING_LAYER_EXT :: GLenum
pattern GL_IMAGE_BINDING_LEVEL_EXT :: GLenum
pattern GL_IMAGE_BINDING_NAME_EXT :: GLenum
pattern GL_IMAGE_BUFFER_EXT :: GLenum
pattern GL_IMAGE_CUBE_EXT :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY_EXT :: GLenum
pattern GL_INT_IMAGE_1D_EXT :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY_EXT :: GLenum
pattern GL_INT_IMAGE_2D_EXT :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
pattern GL_INT_IMAGE_2D_RECT_EXT :: GLenum
pattern GL_INT_IMAGE_3D_EXT :: GLenum
pattern GL_INT_IMAGE_BUFFER_EXT :: GLenum
pattern GL_INT_IMAGE_CUBE_EXT :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES_EXT :: GLenum
pattern GL_MAX_IMAGE_UNITS_EXT :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT_EXT :: GLbitfield
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT :: GLbitfield
pattern GL_TEXTURE_FETCH_BARRIER_BIT_EXT :: GLbitfield
pattern GL_TEXTURE_UPDATE_BARRIER_BIT_EXT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT :: GLbitfield
pattern GL_UNIFORM_BARRIER_BIT_EXT :: GLbitfield
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_EXT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT :: GLbitfield
glBindImageTextureEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> m ()

-- | This command is an alias for glMemoryBarrier.
glMemoryBarrierEXT :: MonadIO m => GLbitfield -> m ()

module Graphics.GL.EXT.ShaderFramebufferFetchNonCoherent

-- | Is the EXT_shader_framebuffer_fetch_non_coherent extension
--   supported?
glGetEXTShaderFramebufferFetchNonCoherent :: MonadIO m => m Bool

-- | Is the EXT_shader_framebuffer_fetch_non_coherent extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   glGetEXTShaderFramebufferFetchNonCoherent in those cases
--   instead.
gl_EXT_shader_framebuffer_fetch_non_coherent :: Bool
pattern GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT :: GLenum
glFramebufferFetchBarrierEXT :: MonadIO m => m ()

module Graphics.GL.EXT.SeparateShaderObjects

-- | Is the EXT_separate_shader_objects extension supported?
glGetEXTSeparateShaderObjects :: MonadIO m => m Bool

-- | Is the EXT_separate_shader_objects extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTSeparateShaderObjects in those
--   cases instead.
gl_EXT_separate_shader_objects :: Bool
pattern GL_ACTIVE_PROGRAM_EXT :: GLenum
glActiveProgramEXT :: MonadIO m => GLuint -> m ()
glCreateShaderProgramEXT :: MonadIO m => GLenum -> Ptr GLchar -> m GLuint
glUseShaderProgramEXT :: MonadIO m => GLenum -> GLuint -> m ()

module Graphics.GL.EXT.SemaphoreWin32

-- | Is the EXT_semaphore_win32 extension supported?
glGetEXTSemaphoreWin32 :: MonadIO m => m Bool

-- | Is the EXT_semaphore_win32 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTSemaphoreWin32 in those cases
--   instead.
gl_EXT_semaphore_win32 :: Bool
pattern GL_D3D12_FENCE_VALUE_EXT :: GLenum
pattern GL_DEVICE_LUID_EXT :: GLenum
pattern GL_DEVICE_NODE_MASK_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D12_FENCE_EXT :: GLenum
pattern GL_HANDLE_TYPE_OPAQUE_WIN32_EXT :: GLenum
pattern GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT :: GLenum
pattern GL_LUID_SIZE_EXT :: GLenum
glImportSemaphoreWin32HandleEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glImportSemaphoreWin32NameEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()

module Graphics.GL.EXT.SemaphoreFd

-- | Is the EXT_semaphore_fd extension supported?
glGetEXTSemaphoreFd :: MonadIO m => m Bool

-- | Is the EXT_semaphore_fd extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTSemaphoreFd in those cases instead.
gl_EXT_semaphore_fd :: Bool
pattern GL_HANDLE_TYPE_OPAQUE_FD_EXT :: GLenum
glImportSemaphoreFdEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

module Graphics.GL.EXT.Semaphore

-- | Is the EXT_semaphore extension supported?
glGetEXTSemaphore :: MonadIO m => m Bool

-- | Is the EXT_semaphore extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTSemaphore in those cases instead.
gl_EXT_semaphore :: Bool
pattern GL_DEVICE_UUID_EXT :: GLenum
pattern GL_DRIVER_UUID_EXT :: GLenum
pattern GL_LAYOUT_COLOR_ATTACHMENT_EXT :: GLenum
pattern GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT :: GLenum
pattern GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT :: GLenum
pattern GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT :: GLenum
pattern GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT :: GLenum
pattern GL_LAYOUT_GENERAL_EXT :: GLenum
pattern GL_LAYOUT_SHADER_READ_ONLY_EXT :: GLenum
pattern GL_LAYOUT_TRANSFER_DST_EXT :: GLenum
pattern GL_LAYOUT_TRANSFER_SRC_EXT :: GLenum
pattern GL_NUM_DEVICE_UUIDS_EXT :: GLenum
pattern GL_UUID_SIZE_EXT :: GLenum
glDeleteSemaphoresEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenSemaphoresEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetSemaphoreParameterui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()
glGetUnsignedBytei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLubyte -> m ()
glGetUnsignedBytevEXT :: MonadIO m => GLenum -> Ptr GLubyte -> m ()
glIsSemaphoreEXT :: MonadIO m => GLuint -> m GLboolean
glSemaphoreParameterui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()
glSignalSemaphoreEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> m ()
glWaitSemaphoreEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> m ()

module Graphics.GL.EXT.SecondaryColor

-- | Is the EXT_secondary_color extension supported?
glGetEXTSecondaryColor :: MonadIO m => m Bool

-- | Is the EXT_secondary_color extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTSecondaryColor in those cases
--   instead.
gl_EXT_secondary_color :: Bool
pattern GL_COLOR_SUM_EXT :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE_EXT :: GLenum

-- | The vector equivalent of this command is
--   glSecondaryColor3bvEXT. This command is an alias for
--   glSecondaryColor3b.
glSecondaryColor3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | This command is an alias for glSecondaryColor3bv.
glSecondaryColor3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3dvEXT. This command is an alias for
--   glSecondaryColor3d.
glSecondaryColor3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glSecondaryColor3dv.
glSecondaryColor3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3fvEXT. This command is an alias for
--   glSecondaryColor3f.
glSecondaryColor3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glSecondaryColor3fv.
glSecondaryColor3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3ivEXT. This command is an alias for
--   glSecondaryColor3i.
glSecondaryColor3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glSecondaryColor3iv.
glSecondaryColor3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3svEXT. This command is an alias for
--   glSecondaryColor3s.
glSecondaryColor3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glSecondaryColor3sv.
glSecondaryColor3svEXT :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3ubvEXT. This command is an alias for
--   glSecondaryColor3ub.
glSecondaryColor3ubEXT :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for glSecondaryColor3ubv.
glSecondaryColor3ubvEXT :: MonadIO m => Ptr GLubyte -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3uivEXT. This command is an alias for
--   glSecondaryColor3ui.
glSecondaryColor3uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glSecondaryColor3uiv.
glSecondaryColor3uivEXT :: MonadIO m => Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glSecondaryColor3usvEXT. This command is an alias for
--   glSecondaryColor3us.
glSecondaryColor3usEXT :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | This command is an alias for glSecondaryColor3usv.
glSecondaryColor3usvEXT :: MonadIO m => Ptr GLushort -> m ()

-- | This command is an alias for glSecondaryColorPointer.
glSecondaryColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.EXT.RasterMultisample

-- | Is the EXT_raster_multisample extension supported?
glGetEXTRasterMultisample :: MonadIO m => m Bool

-- | Is the EXT_raster_multisample extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTRasterMultisample in those cases
--   instead.
gl_EXT_raster_multisample :: Bool
pattern GL_EFFECTIVE_RASTER_SAMPLES_EXT :: GLenum
pattern GL_MAX_RASTER_SAMPLES_EXT :: GLenum
pattern GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: GLenum
pattern GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: GLenum
pattern GL_RASTER_MULTISAMPLE_EXT :: GLenum
pattern GL_RASTER_SAMPLES_EXT :: GLenum
glRasterSamplesEXT :: MonadIO m => GLuint -> GLboolean -> m ()

module Graphics.GL.EXT.ProvokingVertex

-- | Is the EXT_provoking_vertex extension supported?
glGetEXTProvokingVertex :: MonadIO m => m Bool

-- | Is the EXT_provoking_vertex extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTProvokingVertex in those cases
--   instead.
gl_EXT_provoking_vertex :: Bool
pattern GL_FIRST_VERTEX_CONVENTION_EXT :: GLenum
pattern GL_LAST_VERTEX_CONVENTION_EXT :: GLenum
pattern GL_PROVOKING_VERTEX_EXT :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT :: GLenum

-- | This command is an alias for glProvokingVertex.
glProvokingVertexEXT :: MonadIO m => GLenum -> m ()

module Graphics.GL.EXT.PolygonOffsetClamp

-- | Is the EXT_polygon_offset_clamp extension supported?
glGetEXTPolygonOffsetClamp :: MonadIO m => m Bool

-- | Is the EXT_polygon_offset_clamp extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTPolygonOffsetClamp in those cases
--   instead.
gl_EXT_polygon_offset_clamp :: Bool
pattern GL_POLYGON_OFFSET_CLAMP_EXT :: GLenum

-- | This command is an alias for glPolygonOffsetClamp.
glPolygonOffsetClampEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

module Graphics.GL.EXT.PolygonOffset

-- | Is the EXT_polygon_offset extension supported?
glGetEXTPolygonOffset :: MonadIO m => m Bool

-- | Is the EXT_polygon_offset extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTPolygonOffset in those cases instead.
gl_EXT_polygon_offset :: Bool
pattern GL_POLYGON_OFFSET_BIAS_EXT :: GLenum
pattern GL_POLYGON_OFFSET_EXT :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR_EXT :: GLenum
glPolygonOffsetEXT :: MonadIO m => GLfloat -> GLfloat -> m ()

module Graphics.GL.EXT.PointParameters

-- | Is the EXT_point_parameters extension supported?
glGetEXTPointParameters :: MonadIO m => m Bool

-- | Is the EXT_point_parameters extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTPointParameters in those cases
--   instead.
gl_EXT_point_parameters :: Bool
pattern GL_DISTANCE_ATTENUATION_EXT :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE_EXT :: GLenum
pattern GL_POINT_SIZE_MAX_EXT :: GLenum
pattern GL_POINT_SIZE_MIN_EXT :: GLenum

-- | This command is an alias for glPointParameterf.
glPointParameterfEXT :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for glPointParameterfv.
glPointParameterfvEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

module Graphics.GL.EXT.PixelTransform

-- | Is the EXT_pixel_transform extension supported?
glGetEXTPixelTransform :: MonadIO m => m Bool

-- | Is the EXT_pixel_transform extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTPixelTransform in those cases
--   instead.
gl_EXT_pixel_transform :: Bool
pattern GL_AVERAGE_EXT :: GLenum
pattern GL_CUBIC_EXT :: GLenum
pattern GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
pattern GL_PIXEL_CUBIC_WEIGHT_EXT :: GLenum
pattern GL_PIXEL_MAG_FILTER_EXT :: GLenum
pattern GL_PIXEL_MIN_FILTER_EXT :: GLenum
pattern GL_PIXEL_TRANSFORM_2D_EXT :: GLenum
pattern GL_PIXEL_TRANSFORM_2D_MATRIX_EXT :: GLenum
pattern GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
glGetPixelTransformParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetPixelTransformParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glPixelTransformParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glPixelTransformParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glPixelTransformParameteriEXT :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glPixelTransformParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.EXT.PalettedTexture

-- | Is the EXT_paletted_texture extension supported?
glGetEXTPalettedTexture :: MonadIO m => m Bool

-- | Is the EXT_paletted_texture extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTPalettedTexture in those cases
--   instead.
gl_EXT_paletted_texture :: Bool
pattern GL_COLOR_INDEX12_EXT :: GLenum
pattern GL_COLOR_INDEX16_EXT :: GLenum
pattern GL_COLOR_INDEX1_EXT :: GLenum
pattern GL_COLOR_INDEX2_EXT :: GLenum
pattern GL_COLOR_INDEX4_EXT :: GLenum
pattern GL_COLOR_INDEX8_EXT :: GLenum
pattern GL_TEXTURE_INDEX_SIZE_EXT :: GLenum

-- | This command is an alias for glColorTable.
glColorTableEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glGetColorTable.
glGetColorTableEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glGetColorTableParameterfv.
glGetColorTableParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetColorTableParameteriv.
glGetColorTableParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.EXT.Multisample

-- | Is the EXT_multisample extension supported?
glGetEXTMultisample :: MonadIO m => m Bool

-- | Is the EXT_multisample extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTMultisample in those cases instead.
gl_EXT_multisample :: Bool
pattern GL_1PASS_EXT :: GLenum
pattern GL_2PASS_0_EXT :: GLenum
pattern GL_2PASS_1_EXT :: GLenum
pattern GL_4PASS_0_EXT :: GLenum
pattern GL_4PASS_1_EXT :: GLenum
pattern GL_4PASS_2_EXT :: GLenum
pattern GL_4PASS_3_EXT :: GLenum
pattern GL_MULTISAMPLE_BIT_EXT :: GLbitfield
pattern GL_MULTISAMPLE_EXT :: GLenum
pattern GL_SAMPLES_EXT :: GLenum
pattern GL_SAMPLE_ALPHA_TO_MASK_EXT :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE_EXT :: GLenum
pattern GL_SAMPLE_BUFFERS_EXT :: GLenum
pattern GL_SAMPLE_MASK_EXT :: GLenum
pattern GL_SAMPLE_MASK_INVERT_EXT :: GLenum
pattern GL_SAMPLE_MASK_VALUE_EXT :: GLenum
pattern GL_SAMPLE_PATTERN_EXT :: GLenum
glSampleMaskEXT :: MonadIO m => GLclampf -> GLboolean -> m ()
glSamplePatternEXT :: MonadIO m => GLenum -> m ()

module Graphics.GL.EXT.MultiDrawArrays

-- | Is the EXT_multi_draw_arrays extension supported?
glGetEXTMultiDrawArrays :: MonadIO m => m Bool

-- | Is the EXT_multi_draw_arrays extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTMultiDrawArrays in those cases
--   instead.
gl_EXT_multi_draw_arrays :: Bool

-- | This command is an alias for glMultiDrawArrays.
glMultiDrawArraysEXT :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | This command is an alias for glMultiDrawElements.
glMultiDrawElementsEXT :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

module Graphics.GL.EXT.MemoryObjectWin32

-- | Is the EXT_memory_object_win32 extension supported?
glGetEXTMemoryObjectWin32 :: MonadIO m => m Bool

-- | Is the EXT_memory_object_win32 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTMemoryObjectWin32 in those cases
--   instead.
gl_EXT_memory_object_win32 :: Bool
pattern GL_DEVICE_LUID_EXT :: GLenum
pattern GL_DEVICE_NODE_MASK_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D11_IMAGE_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D12_RESOURCE_EXT :: GLenum
pattern GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT :: GLenum
pattern GL_HANDLE_TYPE_OPAQUE_WIN32_EXT :: GLenum
pattern GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT :: GLenum
pattern GL_LUID_SIZE_EXT :: GLenum
glImportMemoryWin32HandleEXT :: MonadIO m => GLuint -> GLuint64 -> GLenum -> Ptr a -> m ()
glImportMemoryWin32NameEXT :: MonadIO m => GLuint -> GLuint64 -> GLenum -> Ptr a -> m ()

module Graphics.GL.EXT.MemoryObjectFd

-- | Is the EXT_memory_object_fd extension supported?
glGetEXTMemoryObjectFd :: MonadIO m => m Bool

-- | Is the EXT_memory_object_fd extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTMemoryObjectFd in those cases
--   instead.
gl_EXT_memory_object_fd :: Bool
pattern GL_HANDLE_TYPE_OPAQUE_FD_EXT :: GLenum
glImportMemoryFdEXT :: MonadIO m => GLuint -> GLuint64 -> GLenum -> GLint -> m ()

module Graphics.GL.EXT.MemoryObject

-- | Is the EXT_memory_object extension supported?
glGetEXTMemoryObject :: MonadIO m => m Bool

-- | Is the EXT_memory_object extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTMemoryObject in those cases instead.
gl_EXT_memory_object :: Bool
pattern GL_DEDICATED_MEMORY_OBJECT_EXT :: GLenum
pattern GL_DEVICE_UUID_EXT :: GLenum
pattern GL_DRIVER_UUID_EXT :: GLenum
pattern GL_LINEAR_TILING_EXT :: GLenum
pattern GL_NUM_DEVICE_UUIDS_EXT :: GLenum
pattern GL_NUM_TILING_TYPES_EXT :: GLenum
pattern GL_OPTIMAL_TILING_EXT :: GLenum
pattern GL_PROTECTED_MEMORY_OBJECT_EXT :: GLenum
pattern GL_TEXTURE_TILING_EXT :: GLenum
pattern GL_TILING_TYPES_EXT :: GLenum
pattern GL_UUID_SIZE_EXT :: GLenum
glBufferStorageMemEXT :: MonadIO m => GLenum -> GLsizeiptr -> GLuint -> GLuint64 -> m ()
glCreateMemoryObjectsEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteMemoryObjectsEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetMemoryObjectParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetUnsignedBytei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLubyte -> m ()
glGetUnsignedBytevEXT :: MonadIO m => GLenum -> Ptr GLubyte -> m ()
glIsMemoryObjectEXT :: MonadIO m => GLuint -> m GLboolean
glMemoryObjectParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glNamedBufferStorageMemEXT :: MonadIO m => GLuint -> GLsizeiptr -> GLuint -> GLuint64 -> m ()
glTexStorageMem1DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> m ()
glTexStorageMem2DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> m ()
glTexStorageMem2DMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> m ()
glTexStorageMem3DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> m ()
glTexStorageMem3DMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> m ()
glTextureStorageMem1DEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLuint -> GLuint64 -> m ()
glTextureStorageMem2DEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> m ()
glTextureStorageMem2DMultisampleEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> m ()
glTextureStorageMem3DEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLuint -> GLuint64 -> m ()
glTextureStorageMem3DMultisampleEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> GLuint -> GLuint64 -> m ()

module Graphics.GL.EXT.LightTexture

-- | Is the EXT_light_texture extension supported?
glGetEXTLightTexture :: MonadIO m => m Bool

-- | Is the EXT_light_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTLightTexture in those cases instead.
gl_EXT_light_texture :: Bool
pattern GL_ATTENUATION_EXT :: GLenum
pattern GL_FRAGMENT_COLOR_EXT :: GLenum
pattern GL_FRAGMENT_DEPTH_EXT :: GLenum
pattern GL_FRAGMENT_MATERIAL_EXT :: GLenum
pattern GL_FRAGMENT_NORMAL_EXT :: GLenum
pattern GL_SHADOW_ATTENUATION_EXT :: GLenum
pattern GL_TEXTURE_APPLICATION_MODE_EXT :: GLenum
pattern GL_TEXTURE_LIGHT_EXT :: GLenum
pattern GL_TEXTURE_MATERIAL_FACE_EXT :: GLenum
pattern GL_TEXTURE_MATERIAL_PARAMETER_EXT :: GLenum
glApplyTextureEXT :: MonadIO m => GLenum -> m ()
glTextureLightEXT :: MonadIO m => GLenum -> m ()
glTextureMaterialEXT :: MonadIO m => GLenum -> GLenum -> m ()

module Graphics.GL.EXT.IndexMaterial

-- | Is the EXT_index_material extension supported?
glGetEXTIndexMaterial :: MonadIO m => m Bool

-- | Is the EXT_index_material extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTIndexMaterial in those cases instead.
gl_EXT_index_material :: Bool
pattern GL_INDEX_MATERIAL_EXT :: GLenum
pattern GL_INDEX_MATERIAL_FACE_EXT :: GLenum
pattern GL_INDEX_MATERIAL_PARAMETER_EXT :: GLenum
glIndexMaterialEXT :: MonadIO m => GLenum -> GLenum -> m ()

module Graphics.GL.EXT.IndexFunc

-- | Is the EXT_index_func extension supported?
glGetEXTIndexFunc :: MonadIO m => m Bool

-- | Is the EXT_index_func extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTIndexFunc in those cases instead.
gl_EXT_index_func :: Bool
pattern GL_INDEX_TEST_EXT :: GLenum
pattern GL_INDEX_TEST_FUNC_EXT :: GLenum
pattern GL_INDEX_TEST_REF_EXT :: GLenum
glIndexFuncEXT :: MonadIO m => GLenum -> GLclampf -> m ()

module Graphics.GL.EXT.Histogram

-- | Is the EXT_histogram extension supported?
glGetEXTHistogram :: MonadIO m => m Bool

-- | Is the EXT_histogram extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTHistogram in those cases instead.
gl_EXT_histogram :: Bool
pattern GL_HISTOGRAM_ALPHA_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_BLUE_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_EXT :: GLenum
pattern GL_HISTOGRAM_FORMAT_EXT :: GLenum
pattern GL_HISTOGRAM_GREEN_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_LUMINANCE_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_RED_SIZE_EXT :: GLenum
pattern GL_HISTOGRAM_SINK_EXT :: GLenum
pattern GL_HISTOGRAM_WIDTH_EXT :: GLenum
pattern GL_MINMAX_EXT :: GLenum
pattern GL_MINMAX_FORMAT_EXT :: GLenum
pattern GL_MINMAX_SINK_EXT :: GLenum
pattern GL_PROXY_HISTOGRAM_EXT :: GLenum
pattern GL_TABLE_TOO_LARGE_EXT :: GLenum
glGetHistogramEXT :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
glGetHistogramParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetHistogramParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetMinmaxEXT :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
glGetMinmaxParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMinmaxParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glHistogram.
glHistogramEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLboolean -> m ()

-- | This command is an alias for glMinmax.
glMinmaxEXT :: MonadIO m => GLenum -> GLenum -> GLboolean -> m ()

-- | This command is an alias for glResetHistogram.
glResetHistogramEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glResetMinmax.
glResetMinmaxEXT :: MonadIO m => GLenum -> m ()

module Graphics.GL.EXT.GeometryShader4

-- | Is the EXT_geometry_shader4 extension supported?
glGetEXTGeometryShader4 :: MonadIO m => m Bool

-- | Is the EXT_geometry_shader4 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTGeometryShader4 in those cases
--   instead.
gl_EXT_geometry_shader4 :: Bool
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE_EXT :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE_EXT :: GLenum
pattern GL_GEOMETRY_SHADER_EXT :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT_EXT :: GLenum
pattern GL_LINES_ADJACENCY_EXT :: GLenum
pattern GL_LINE_STRIP_ADJACENCY_EXT :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT :: GLenum
pattern GL_MAX_VARYING_COMPONENTS_EXT :: GLenum
pattern GL_MAX_VERTEX_VARYING_COMPONENTS_EXT :: GLenum
pattern GL_PROGRAM_POINT_SIZE_EXT :: GLenum
pattern GL_TRIANGLES_ADJACENCY_EXT :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY_EXT :: GLenum

-- | This command is an alias for glProgramParameteri.
glProgramParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

module Graphics.GL.EXT.GPUShader4

-- | Is the EXT_gpu_shader4 extension supported?
glGetEXTGPUShader4 :: MonadIO m => m Bool

-- | Is the EXT_gpu_shader4 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTGPUShader4 in those cases instead.
gl_EXT_gpu_shader4 :: Bool
pattern GL_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
pattern GL_INT_SAMPLER_1D_EXT :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
pattern GL_INT_SAMPLER_2D_EXT :: GLenum
pattern GL_INT_SAMPLER_2D_RECT_EXT :: GLenum
pattern GL_INT_SAMPLER_3D_EXT :: GLenum
pattern GL_INT_SAMPLER_BUFFER_EXT :: GLenum
pattern GL_INT_SAMPLER_CUBE_EXT :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
pattern GL_SAMPLER_1D_ARRAY_EXT :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW_EXT :: GLenum
pattern GL_SAMPLER_2D_ARRAY_EXT :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW_EXT :: GLenum
pattern GL_SAMPLER_BUFFER_EXT :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_EXT :: GLenum
pattern GL_UNSIGNED_INT_VEC2_EXT :: GLenum
pattern GL_UNSIGNED_INT_VEC3_EXT :: GLenum
pattern GL_UNSIGNED_INT_VEC4_EXT :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT :: GLenum

-- | This command is an alias for glBindFragDataLocation.
glBindFragDataLocationEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | This command is an alias for glGetFragDataLocation.
glGetFragDataLocationEXT :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | This command is an alias for glGetUniformuiv.
glGetUniformuivEXT :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | This command is an alias for glUniform1ui.
glUniform1uiEXT :: MonadIO m => GLint -> GLuint -> m ()

-- | This command is an alias for glUniform1uiv.
glUniform1uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glUniform2ui.
glUniform2uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glUniform2uiv.
glUniform2uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glUniform3ui.
glUniform3uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glUniform3uiv.
glUniform3uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glUniform4ui.
glUniform4uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glUniform4uiv.
glUniform4uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

module Graphics.GL.EXT.GPUProgramParameters

-- | Is the EXT_gpu_program_parameters extension supported?
glGetEXTGPUProgramParameters :: MonadIO m => m Bool

-- | Is the EXT_gpu_program_parameters extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTGPUProgramParameters in those
--   cases instead.
gl_EXT_gpu_program_parameters :: Bool
glProgramEnvParameters4fvEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramLocalParameters4fvEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()

module Graphics.GL.EXT.FramebufferObject

-- | Is the EXT_framebuffer_object extension supported?
glGetEXTFramebufferObject :: MonadIO m => m Bool

-- | Is the EXT_framebuffer_object extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTFramebufferObject in those cases
--   instead.
gl_EXT_framebuffer_object :: Bool
pattern GL_COLOR_ATTACHMENT0_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT10_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT11_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT12_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT13_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT14_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT15_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT1_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT2_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT3_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT4_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT5_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT6_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT7_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT8_EXT :: GLenum
pattern GL_COLOR_ATTACHMENT9_EXT :: GLenum
pattern GL_DEPTH_ATTACHMENT_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT :: GLenum
pattern GL_FRAMEBUFFER_BINDING_EXT :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE_EXT :: GLenum
pattern GL_FRAMEBUFFER_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED_EXT :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION_EXT :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS_EXT :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_BINDING_EXT :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_EXT :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_HEIGHT_EXT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT_EXT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE_EXT :: GLenum
pattern GL_RENDERBUFFER_WIDTH_EXT :: GLenum
pattern GL_STENCIL_ATTACHMENT_EXT :: GLenum
pattern GL_STENCIL_INDEX16_EXT :: GLenum
pattern GL_STENCIL_INDEX1_EXT :: GLenum
pattern GL_STENCIL_INDEX4_EXT :: GLenum
pattern GL_STENCIL_INDEX8_EXT :: GLenum
glBindFramebufferEXT :: MonadIO m => GLenum -> GLuint -> m ()
glBindRenderbufferEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glCheckFramebufferStatus.
glCheckFramebufferStatusEXT :: MonadIO m => GLenum -> m GLenum

-- | This command is an alias for glDeleteFramebuffers.
glDeleteFramebuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glDeleteRenderbuffers.
glDeleteRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glFramebufferRenderbuffer.
glFramebufferRenderbufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | This command is an alias for glFramebufferTexture1D.
glFramebufferTexture1DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for glFramebufferTexture2D.
glFramebufferTexture2DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for glFramebufferTexture3D.
glFramebufferTexture3DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for glGenFramebuffers.
glGenFramebuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenRenderbuffers.
glGenRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenerateMipmap.
glGenerateMipmapEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for
--   glGetFramebufferAttachmentParameteriv.
glGetFramebufferAttachmentParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetRenderbufferParameteriv.
glGetRenderbufferParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glIsFramebuffer.
glIsFramebufferEXT :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glIsRenderbuffer.
glIsRenderbufferEXT :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glRenderbufferStorage.
glRenderbufferStorageEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

module Graphics.GL.EXT.FramebufferMultisample

-- | Is the EXT_framebuffer_multisample extension supported?
glGetEXTFramebufferMultisample :: MonadIO m => m Bool

-- | Is the EXT_framebuffer_multisample extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTFramebufferMultisample in
--   those cases instead.
gl_EXT_framebuffer_multisample :: Bool
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT :: GLenum
pattern GL_MAX_SAMPLES_EXT :: GLenum
pattern GL_RENDERBUFFER_SAMPLES_EXT :: GLenum

-- | This command is an alias for glRenderbufferStorageMultisample.
glRenderbufferStorageMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

module Graphics.GL.EXT.FramebufferBlit

-- | Is the EXT_framebuffer_blit extension supported?
glGetEXTFramebufferBlit :: MonadIO m => m Bool

-- | Is the EXT_framebuffer_blit extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTFramebufferBlit in those cases
--   instead.
gl_EXT_framebuffer_blit :: Bool
pattern GL_DRAW_FRAMEBUFFER_BINDING_EXT :: GLenum
pattern GL_DRAW_FRAMEBUFFER_EXT :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING_EXT :: GLenum
pattern GL_READ_FRAMEBUFFER_EXT :: GLenum

-- | This command is an alias for glBlitFramebuffer.
glBlitFramebufferEXT :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

module Graphics.GL.EXT.FogCoord

-- | Is the EXT_fog_coord extension supported?
glGetEXTFogCoord :: MonadIO m => m Bool

-- | Is the EXT_fog_coord extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTFogCoord in those cases instead.
gl_EXT_fog_coord :: Bool
pattern GL_CURRENT_FOG_COORDINATE_EXT :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_EXT :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER_EXT :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE_EXT :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE_EXT :: GLenum
pattern GL_FOG_COORDINATE_EXT :: GLenum
pattern GL_FOG_COORDINATE_SOURCE_EXT :: GLenum
pattern GL_FRAGMENT_DEPTH_EXT :: GLenum

-- | This command is an alias for glFogCoordPointer.
glFogCoordPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is glFogCoorddvEXT. This
--   command is an alias for glFogCoordd.
glFogCoorddEXT :: MonadIO m => GLdouble -> m ()

-- | This command is an alias for glFogCoorddv.
glFogCoorddvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glFogCoordfvEXT. This
--   command is an alias for glFogCoordf.
glFogCoordfEXT :: MonadIO m => GLfloat -> m ()

-- | This command is an alias for glFogCoordfv.
glFogCoordfvEXT :: MonadIO m => Ptr GLfloat -> m ()

module Graphics.GL.EXT.ExternalBuffer

-- | Is the EXT_external_buffer extension supported?
glGetEXTExternalBuffer :: MonadIO m => m Bool

-- | Is the EXT_external_buffer extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTExternalBuffer in those cases
--   instead.
gl_EXT_external_buffer :: Bool
glBufferStorageExternalEXT :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> m ()
glNamedBufferStorageExternalEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> m ()

module Graphics.GL.EXT.DrawRangeElements

-- | Is the EXT_draw_range_elements extension supported?
glGetEXTDrawRangeElements :: MonadIO m => m Bool

-- | Is the EXT_draw_range_elements extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTDrawRangeElements in those cases
--   instead.
gl_EXT_draw_range_elements :: Bool
pattern GL_MAX_ELEMENTS_INDICES_EXT :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES_EXT :: GLenum

-- | This command is an alias for glDrawRangeElements.
glDrawRangeElementsEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

module Graphics.GL.EXT.DrawInstanced

-- | Is the EXT_draw_instanced extension supported?
glGetEXTDrawInstanced :: MonadIO m => m Bool

-- | Is the EXT_draw_instanced extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTDrawInstanced in those cases instead.
gl_EXT_draw_instanced :: Bool

-- | This command is an alias for glDrawArraysInstanced.
glDrawArraysInstancedEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glDrawElementsInstanced.
glDrawElementsInstancedEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

module Graphics.GL.EXT.DrawBuffers2

-- | Is the EXT_draw_buffers2 extension supported?
glGetEXTDrawBuffers2 :: MonadIO m => m Bool

-- | Is the EXT_draw_buffers2 extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTDrawBuffers2 in those cases instead.
gl_EXT_draw_buffers2 :: Bool

-- | This command is an alias for glColorMaski.
glColorMaskIndexedEXT :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | This command is an alias for glDisablei.
glDisableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glEnablei.
glEnableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glGetBooleani_v.
glGetBooleanIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | This command is an alias for glGetIntegeri_v.
glGetIntegerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | This command is an alias for glIsEnabledi.
glIsEnabledIndexedEXT :: MonadIO m => GLenum -> GLuint -> m GLboolean

module Graphics.GL.EXT.DirectStateAccess

-- | Is the EXT_direct_state_access extension supported?
glGetEXTDirectStateAccess :: MonadIO m => m Bool

-- | Is the EXT_direct_state_access extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTDirectStateAccess in those cases
--   instead.
gl_EXT_direct_state_access :: Bool
pattern GL_PROGRAM_MATRIX_EXT :: GLenum
pattern GL_PROGRAM_MATRIX_STACK_DEPTH_EXT :: GLenum
pattern GL_TRANSPOSE_PROGRAM_MATRIX_EXT :: GLenum
glBindMultiTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glCheckNamedFramebufferStatusEXT :: MonadIO m => GLuint -> GLenum -> m GLenum
glClearNamedBufferDataEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()
glClearNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()
glClientAttribDefaultEXT :: MonadIO m => GLbitfield -> m ()
glCompressedMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedTextureImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()
glCompressedTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCopyMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
glCopyMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
glCopyMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
glCopyMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()
glCopyTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()
glCopyTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()
glCopyTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glDisableClientStateIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableClientStateiEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glDisablei.
glDisableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableVertexArrayAttribEXT :: MonadIO m => GLuint -> GLuint -> m ()
glDisableVertexArrayEXT :: MonadIO m => GLuint -> GLenum -> m ()
glEnableClientStateIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableClientStateiEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glEnablei.
glEnableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableVertexArrayAttribEXT :: MonadIO m => GLuint -> GLuint -> m ()
glEnableVertexArrayEXT :: MonadIO m => GLuint -> GLenum -> m ()
glFlushMappedNamedBufferRangeEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()
glFramebufferDrawBufferEXT :: MonadIO m => GLuint -> GLenum -> m ()
glFramebufferDrawBuffersEXT :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()
glFramebufferReadBufferEXT :: MonadIO m => GLuint -> GLenum -> m ()
glGenerateMultiTexMipmapEXT :: MonadIO m => GLenum -> GLenum -> m ()
glGenerateTextureMipmapEXT :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glGetBooleani_v.
glGetBooleanIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()
glGetCompressedMultiTexImageEXT :: MonadIO m => GLenum -> GLenum -> GLint -> Ptr a -> m ()
glGetCompressedTextureImageEXT :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr a -> m ()

-- | This command is an alias for glGetDoublei_v.
glGetDoubleIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetDoublei_v.
glGetDoublei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetFloati_v.
glGetFloatIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetFloati_v.
glGetFloati_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetFramebufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetIntegeri_v.
glGetIntegerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetMultiTexEnvfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexEnvivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexGendvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()
glGetMultiTexGenfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexGenivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexImageEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glGetMultiTexLevelParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexLevelParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glGetMultiTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetMultiTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLuint -> m ()
glGetMultiTexParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMultiTexParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()
glGetNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glGetNamedFramebufferAttachmentParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedFramebufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedProgramLocalParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()
glGetNamedProgramLocalParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLuint -> m ()
glGetNamedProgramLocalParameterdvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetNamedProgramLocalParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetNamedProgramStringEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr a -> m ()
glGetNamedProgramivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedRenderbufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetPointerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr (Ptr a) -> m ()
glGetPointeri_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr (Ptr a) -> m ()
glGetTextureImageEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glGetTextureLevelParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetTextureLevelParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glGetTextureParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetTextureParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLuint -> m ()
glGetTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTextureParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayIntegeri_vEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayIntegervEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVertexArrayPointeri_vEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> m ()
glGetVertexArrayPointervEXT :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glIsEnabledi.
glIsEnabledIndexedEXT :: MonadIO m => GLenum -> GLuint -> m GLboolean
glMapNamedBufferEXT :: MonadIO m => GLuint -> GLenum -> m (Ptr a)
glMapNamedBufferRangeEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)
glMatrixFrustumEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixLoadIdentityEXT :: MonadIO m => GLenum -> m ()
glMatrixLoadTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixLoaddEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixLoadfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultTransposedEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultTransposefEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixMultdEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glMatrixMultfEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glMatrixOrthoEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixPopEXT :: MonadIO m => GLenum -> m ()
glMatrixPushEXT :: MonadIO m => GLenum -> m ()
glMatrixRotatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixRotatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixScaledEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixScalefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMatrixTranslatedEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixTranslatefEXT :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glMultiTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordPointerEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is glMultiTexEnvfvEXT.
glMultiTexEnvfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexEnvfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexEnvivEXT.
glMultiTexEnviEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexEnvivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexGendvEXT.
glMultiTexGendEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLdouble -> m ()
glMultiTexGendvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexGenfvEXT.
glMultiTexGenfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexGenfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexGenivEXT.
glMultiTexGeniEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexGenivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glMultiTexParameterfvEXT.
glMultiTexParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glMultiTexParameterivEXT.
glMultiTexParameteriEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glMultiTexRenderbufferEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexSubImage1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexSubImage2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glMultiTexSubImage3DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glNamedBufferDataEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | This command is an alias for glNamedBufferStorage.
glNamedBufferStorageEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | This command is an alias for glNamedBufferSubData.
glNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glNamedCopyBufferSubDataEXT :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()
glNamedFramebufferParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glNamedFramebufferRenderbufferEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glNamedFramebufferTexture1DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTexture2DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTexture3DEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glNamedFramebufferTextureEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()
glNamedFramebufferTextureFaceEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLenum -> m ()
glNamedFramebufferTextureLayerEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is
--   glNamedProgramLocalParameter4dvEXT.
glNamedProgramLocalParameter4dEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glNamedProgramLocalParameter4dvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glNamedProgramLocalParameter4fvEXT.
glNamedProgramLocalParameter4fEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glNamedProgramLocalParameter4fvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glNamedProgramLocalParameterI4ivEXT.
glNamedProgramLocalParameterI4iEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glNamedProgramLocalParameterI4ivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glNamedProgramLocalParameterI4uivEXT.
glNamedProgramLocalParameterI4uiEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glNamedProgramLocalParameterI4uivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLuint -> m ()
glNamedProgramLocalParameters4fvEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedProgramLocalParametersI4ivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
glNamedProgramLocalParametersI4uivEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()
glNamedProgramStringEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glNamedRenderbufferStorageEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleCoverageEXT :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glProgramUniform1dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniform1f.
glProgramUniform1fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | This command is an alias for glProgramUniform1fv.
glProgramUniform1fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glProgramUniform1i.
glProgramUniform1iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramUniform1iv.
glProgramUniform1ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glProgramUniform1ui.
glProgramUniform1uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | This command is an alias for glProgramUniform1uiv.
glProgramUniform1uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniform2f.
glProgramUniform2fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glProgramUniform2fv.
glProgramUniform2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glProgramUniform2i.
glProgramUniform2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramUniform2iv.
glProgramUniform2ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glProgramUniform2ui.
glProgramUniform2uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glProgramUniform2uiv.
glProgramUniform2uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniform3f.
glProgramUniform3fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glProgramUniform3fv.
glProgramUniform3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glProgramUniform3i.
glProgramUniform3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramUniform3iv.
glProgramUniform3ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glProgramUniform3ui.
glProgramUniform3uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glProgramUniform3uiv.
glProgramUniform3uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniform4f.
glProgramUniform4fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glProgramUniform4fv.
glProgramUniform4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glProgramUniform4i.
glProgramUniform4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramUniform4iv.
glProgramUniform4ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glProgramUniform4ui.
glProgramUniform4uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for glProgramUniform4uiv.
glProgramUniform4uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix2fv.
glProgramUniformMatrix2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix2x3fv.
glProgramUniformMatrix2x3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix2x4fv.
glProgramUniformMatrix2x4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix3fv.
glProgramUniformMatrix3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix3x2fv.
glProgramUniformMatrix3x2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix3x4fv.
glProgramUniformMatrix3x4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix4fv.
glProgramUniformMatrix4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix4x2fv.
glProgramUniformMatrix4x2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | This command is an alias for glProgramUniformMatrix4x3fv.
glProgramUniformMatrix4x3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glPushClientAttribDefaultEXT :: MonadIO m => GLbitfield -> m ()
glTextureBufferEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glTextureBufferRangeEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTextureImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTextureImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTextureImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTexturePageCommitmentEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureParameterIivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glTextureParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   glTextureParameterfvEXT.
glTextureParameterfEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLfloat -> m ()
glTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glTextureParameterivEXT.
glTextureParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLint -> m ()
glTextureParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glTextureRenderbufferEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()
glTextureStorage1DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()
glTextureStorage2DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTextureStorage2DMultisampleEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage3DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glTextureStorage3DMultisampleEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureSubImage1DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTextureSubImage2DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glUnmapNamedBufferEXT :: MonadIO m => GLuint -> m GLboolean
glVertexArrayBindVertexBufferEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()
glVertexArrayColorOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayEdgeFlagOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> GLintptr -> m ()
glVertexArrayFogCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayIndexOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayMultiTexCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayNormalOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArraySecondaryColorOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayTexCoordOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribBindingEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexAttribDivisorEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexAttribFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexArrayVertexAttribIFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayVertexAttribIOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribLFormatEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayVertexAttribLOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexAttribOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> m ()
glVertexArrayVertexBindingDivisorEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayVertexOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()

module Graphics.GL.EXT.DepthBoundsTest

-- | Is the EXT_depth_bounds_test extension supported?
glGetEXTDepthBoundsTest :: MonadIO m => m Bool

-- | Is the EXT_depth_bounds_test extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTDepthBoundsTest in those cases
--   instead.
gl_EXT_depth_bounds_test :: Bool
pattern GL_DEPTH_BOUNDS_EXT :: GLenum
pattern GL_DEPTH_BOUNDS_TEST_EXT :: GLenum
glDepthBoundsEXT :: MonadIO m => GLclampd -> GLclampd -> m ()

module Graphics.GL.EXT.DebugMarker

-- | Is the EXT_debug_marker extension supported?
glGetEXTDebugMarker :: MonadIO m => m Bool

-- | Is the EXT_debug_marker extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTDebugMarker in those cases instead.
gl_EXT_debug_marker :: Bool
glInsertEventMarkerEXT :: MonadIO m => GLsizei -> Ptr GLchar -> m ()
glPopGroupMarkerEXT :: MonadIO m => m ()
glPushGroupMarkerEXT :: MonadIO m => GLsizei -> Ptr GLchar -> m ()

module Graphics.GL.EXT.DebugLabel

-- | Is the EXT_debug_label extension supported?
glGetEXTDebugLabel :: MonadIO m => m Bool

-- | Is the EXT_debug_label extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTDebugLabel in those cases instead.
gl_EXT_debug_label :: Bool
pattern GL_BUFFER_OBJECT_EXT :: GLenum
pattern GL_PROGRAM_OBJECT_EXT :: GLenum
pattern GL_PROGRAM_PIPELINE_OBJECT_EXT :: GLenum
pattern GL_QUERY_OBJECT_EXT :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SHADER_OBJECT_EXT :: GLenum
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_VERTEX_ARRAY_OBJECT_EXT :: GLenum
glGetObjectLabelEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glLabelObjectEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

module Graphics.GL.EXT.CullVertex

-- | Is the EXT_cull_vertex extension supported?
glGetEXTCullVertex :: MonadIO m => m Bool

-- | Is the EXT_cull_vertex extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTCullVertex in those cases instead.
gl_EXT_cull_vertex :: Bool
pattern GL_CULL_VERTEX_EXT :: GLenum
pattern GL_CULL_VERTEX_EYE_POSITION_EXT :: GLenum
pattern GL_CULL_VERTEX_OBJECT_POSITION_EXT :: GLenum
glCullParameterdvEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glCullParameterfvEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

module Graphics.GL.EXT.CopyTexture

-- | Is the EXT_copy_texture extension supported?
glGetEXTCopyTexture :: MonadIO m => m Bool

-- | Is the EXT_copy_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTCopyTexture in those cases instead.
gl_EXT_copy_texture :: Bool

-- | This command is an alias for glCopyTexImage1D.
glCopyTexImage1DEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | This command is an alias for glCopyTexImage2D.
glCopyTexImage2DEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | This command is an alias for glCopyTexSubImage1D.
glCopyTexSubImage1DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | This command is an alias for glCopyTexSubImage2D.
glCopyTexSubImage2DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glCopyTexSubImage3D.
glCopyTexSubImage3DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

module Graphics.GL.EXT.CoordinateFrame

-- | Is the EXT_coordinate_frame extension supported?
glGetEXTCoordinateFrame :: MonadIO m => m Bool

-- | Is the EXT_coordinate_frame extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTCoordinateFrame in those cases
--   instead.
gl_EXT_coordinate_frame :: Bool
pattern GL_BINORMAL_ARRAY_EXT :: GLenum
pattern GL_BINORMAL_ARRAY_POINTER_EXT :: GLenum
pattern GL_BINORMAL_ARRAY_STRIDE_EXT :: GLenum
pattern GL_BINORMAL_ARRAY_TYPE_EXT :: GLenum
pattern GL_CURRENT_BINORMAL_EXT :: GLenum
pattern GL_CURRENT_TANGENT_EXT :: GLenum
pattern GL_MAP1_BINORMAL_EXT :: GLenum
pattern GL_MAP1_TANGENT_EXT :: GLenum
pattern GL_MAP2_BINORMAL_EXT :: GLenum
pattern GL_MAP2_TANGENT_EXT :: GLenum
pattern GL_TANGENT_ARRAY_EXT :: GLenum
pattern GL_TANGENT_ARRAY_POINTER_EXT :: GLenum
pattern GL_TANGENT_ARRAY_STRIDE_EXT :: GLenum
pattern GL_TANGENT_ARRAY_TYPE_EXT :: GLenum

-- | The vector equivalent of this command is glBinormal3bvEXT.
glBinormal3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glBinormal3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glBinormal3dvEXT.
glBinormal3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glBinormal3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glBinormal3fvEXT.
glBinormal3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glBinormal3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glBinormal3ivEXT.
glBinormal3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()
glBinormal3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glBinormal3svEXT.
glBinormal3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glBinormal3svEXT :: MonadIO m => Ptr GLshort -> m ()
glBinormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is glTangent3bvEXT.
glTangent3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glTangent3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glTangent3dvEXT.
glTangent3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glTangent3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glTangent3fvEXT.
glTangent3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glTangent3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glTangent3ivEXT.
glTangent3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()
glTangent3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glTangent3svEXT.
glTangent3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glTangent3svEXT :: MonadIO m => Ptr GLshort -> m ()
glTangentPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.EXT.Convolution

-- | Is the EXT_convolution extension supported?
glGetEXTConvolution :: MonadIO m => m Bool

-- | Is the EXT_convolution extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTConvolution in those cases instead.
gl_EXT_convolution :: Bool
pattern GL_CONVOLUTION_1D_EXT :: GLenum
pattern GL_CONVOLUTION_2D_EXT :: GLenum
pattern GL_CONVOLUTION_BORDER_MODE_EXT :: GLenum
pattern GL_CONVOLUTION_FILTER_BIAS_EXT :: GLenum
pattern GL_CONVOLUTION_FILTER_SCALE_EXT :: GLenum
pattern GL_CONVOLUTION_FORMAT_EXT :: GLenum
pattern GL_CONVOLUTION_HEIGHT_EXT :: GLenum
pattern GL_CONVOLUTION_WIDTH_EXT :: GLenum
pattern GL_MAX_CONVOLUTION_HEIGHT_EXT :: GLenum
pattern GL_MAX_CONVOLUTION_WIDTH_EXT :: GLenum
pattern GL_POST_CONVOLUTION_ALPHA_BIAS_EXT :: GLenum
pattern GL_POST_CONVOLUTION_ALPHA_SCALE_EXT :: GLenum
pattern GL_POST_CONVOLUTION_BLUE_BIAS_EXT :: GLenum
pattern GL_POST_CONVOLUTION_BLUE_SCALE_EXT :: GLenum
pattern GL_POST_CONVOLUTION_GREEN_BIAS_EXT :: GLenum
pattern GL_POST_CONVOLUTION_GREEN_SCALE_EXT :: GLenum
pattern GL_POST_CONVOLUTION_RED_BIAS_EXT :: GLenum
pattern GL_POST_CONVOLUTION_RED_SCALE_EXT :: GLenum
pattern GL_REDUCE_EXT :: GLenum
pattern GL_SEPARABLE_2D_EXT :: GLenum

-- | This command is an alias for glConvolutionFilter1D.
glConvolutionFilter1DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glConvolutionFilter2D.
glConvolutionFilter2DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glConvolutionParameterf.
glConvolutionParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | This command is an alias for glConvolutionParameterfv.
glConvolutionParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glConvolutionParameteri.
glConvolutionParameteriEXT :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | This command is an alias for glConvolutionParameteriv.
glConvolutionParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glCopyConvolutionFilter1D.
glCopyConvolutionFilter1DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()

-- | This command is an alias for glCopyConvolutionFilter2D.
glCopyConvolutionFilter2DEXT :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glGetConvolutionFilterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()
glGetConvolutionParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetConvolutionParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetSeparableFilterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> m ()

-- | This command is an alias for glSeparableFilter2D.
glSeparableFilter2DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> m ()

module Graphics.GL.EXT.CompiledVertexArray

-- | Is the EXT_compiled_vertex_array extension supported?
glGetEXTCompiledVertexArray :: MonadIO m => m Bool

-- | Is the EXT_compiled_vertex_array extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTCompiledVertexArray in those cases
--   instead.
gl_EXT_compiled_vertex_array :: Bool
pattern GL_ARRAY_ELEMENT_LOCK_COUNT_EXT :: GLenum
pattern GL_ARRAY_ELEMENT_LOCK_FIRST_EXT :: GLenum
glLockArraysEXT :: MonadIO m => GLint -> GLsizei -> m ()
glUnlockArraysEXT :: MonadIO m => m ()

module Graphics.GL.EXT.ColorSubtable

-- | Is the EXT_color_subtable extension supported?
glGetEXTColorSubtable :: MonadIO m => m Bool

-- | Is the EXT_color_subtable extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTColorSubtable in those cases instead.
gl_EXT_color_subtable :: Bool

-- | This command is an alias for glColorSubTable.
glColorSubTableEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for glCopyColorSubTable.
glCopyColorSubTableEXT :: MonadIO m => GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> m ()

module Graphics.GL.EXT.BlendMinmax

-- | Is the EXT_blend_minmax extension supported?
glGetEXTBlendMinmax :: MonadIO m => m Bool

-- | Is the EXT_blend_minmax extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTBlendMinmax in those cases instead.
gl_EXT_blend_minmax :: Bool
pattern GL_BLEND_EQUATION_EXT :: GLenum
pattern GL_FUNC_ADD_EXT :: GLenum
pattern GL_MAX_EXT :: GLenum
pattern GL_MIN_EXT :: GLenum

-- | This command is an alias for glBlendEquation.
glBlendEquationEXT :: MonadIO m => GLenum -> m ()

module Graphics.GL.EXT.BlendFuncSeparate

-- | Is the EXT_blend_func_separate extension supported?
glGetEXTBlendFuncSeparate :: MonadIO m => m Bool

-- | Is the EXT_blend_func_separate extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTBlendFuncSeparate in those cases
--   instead.
gl_EXT_blend_func_separate :: Bool
pattern GL_BLEND_DST_ALPHA_EXT :: GLenum
pattern GL_BLEND_DST_RGB_EXT :: GLenum
pattern GL_BLEND_SRC_ALPHA_EXT :: GLenum
pattern GL_BLEND_SRC_RGB_EXT :: GLenum

-- | This command is an alias for glBlendFuncSeparate.
glBlendFuncSeparateEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

module Graphics.GL.EXT.BlendEquationSeparate

-- | Is the EXT_blend_equation_separate extension supported?
glGetEXTBlendEquationSeparate :: MonadIO m => m Bool

-- | Is the EXT_blend_equation_separate extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetEXTBlendEquationSeparate in those
--   cases instead.
gl_EXT_blend_equation_separate :: Bool
pattern GL_BLEND_EQUATION_ALPHA_EXT :: GLenum
pattern GL_BLEND_EQUATION_RGB_EXT :: GLenum

-- | This command is an alias for glBlendEquationSeparate.
glBlendEquationSeparateEXT :: MonadIO m => GLenum -> GLenum -> m ()

module Graphics.GL.EXT.BlendColor

-- | Is the EXT_blend_color extension supported?
glGetEXTBlendColor :: MonadIO m => m Bool

-- | Is the EXT_blend_color extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetEXTBlendColor in those cases instead.
gl_EXT_blend_color :: Bool
pattern GL_BLEND_COLOR_EXT :: GLenum
pattern GL_CONSTANT_ALPHA_EXT :: GLenum
pattern GL_CONSTANT_COLOR_EXT :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA_EXT :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR_EXT :: GLenum

-- | This command is an alias for glBlendColor.
glBlendColorEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

module Graphics.GL.EXT.BindableUniform

-- | Is the EXT_bindable_uniform extension supported?
glGetEXTBindableUniform :: MonadIO m => m Bool

-- | Is the EXT_bindable_uniform extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTBindableUniform in those cases
--   instead.
gl_EXT_bindable_uniform :: Bool
pattern GL_MAX_BINDABLE_UNIFORM_SIZE_EXT :: GLenum
pattern GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT :: GLenum
pattern GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT :: GLenum
pattern GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING_EXT :: GLenum
pattern GL_UNIFORM_BUFFER_EXT :: GLenum
glGetUniformBufferSizeEXT :: MonadIO m => GLuint -> GLint -> m GLint
glGetUniformOffsetEXT :: MonadIO m => GLuint -> GLint -> m GLintptr
glUniformBufferEXT :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

module Graphics.GL.ATI.VertexStreams

-- | Is the ATI_vertex_streams extension supported?
glGetATIVertexStreams :: MonadIO m => m Bool

-- | Is the ATI_vertex_streams extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetATIVertexStreams in those cases instead.
gl_ATI_vertex_streams :: Bool
pattern GL_MAX_VERTEX_STREAMS_ATI :: GLenum
pattern GL_VERTEX_SOURCE_ATI :: GLenum
pattern GL_VERTEX_STREAM0_ATI :: GLenum
pattern GL_VERTEX_STREAM1_ATI :: GLenum
pattern GL_VERTEX_STREAM2_ATI :: GLenum
pattern GL_VERTEX_STREAM3_ATI :: GLenum
pattern GL_VERTEX_STREAM4_ATI :: GLenum
pattern GL_VERTEX_STREAM5_ATI :: GLenum
pattern GL_VERTEX_STREAM6_ATI :: GLenum
pattern GL_VERTEX_STREAM7_ATI :: GLenum
glClientActiveVertexStreamATI :: MonadIO m => GLenum -> m ()
glNormalStream3bATI :: MonadIO m => GLenum -> GLbyte -> GLbyte -> GLbyte -> m ()
glNormalStream3bvATI :: MonadIO m => GLenum -> Ptr GLbyte -> m ()
glNormalStream3dATI :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glNormalStream3dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glNormalStream3fATI :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glNormalStream3fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glNormalStream3iATI :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()
glNormalStream3ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glNormalStream3sATI :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()
glNormalStream3svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glVertexBlendEnvfATI :: MonadIO m => GLenum -> GLfloat -> m ()
glVertexBlendEnviATI :: MonadIO m => GLenum -> GLint -> m ()
glVertexStream1dATI :: MonadIO m => GLenum -> GLdouble -> m ()
glVertexStream1dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVertexStream1fATI :: MonadIO m => GLenum -> GLfloat -> m ()
glVertexStream1fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVertexStream1iATI :: MonadIO m => GLenum -> GLint -> m ()
glVertexStream1ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glVertexStream1sATI :: MonadIO m => GLenum -> GLshort -> m ()
glVertexStream1svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glVertexStream2dATI :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()
glVertexStream2dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVertexStream2fATI :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()
glVertexStream2fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVertexStream2iATI :: MonadIO m => GLenum -> GLint -> GLint -> m ()
glVertexStream2ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glVertexStream2sATI :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()
glVertexStream2svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glVertexStream3dATI :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexStream3dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVertexStream3fATI :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexStream3fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVertexStream3iATI :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()
glVertexStream3ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glVertexStream3sATI :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()
glVertexStream3svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glVertexStream4dATI :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glVertexStream4dvATI :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glVertexStream4fATI :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glVertexStream4fvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glVertexStream4iATI :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()
glVertexStream4ivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glVertexStream4sATI :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glVertexStream4svATI :: MonadIO m => GLenum -> Ptr GLshort -> m ()

module Graphics.GL.ATI.VertexAttribArrayObject

-- | Is the ATI_vertex_attrib_array_object extension supported?
glGetATIVertexAttribArrayObject :: MonadIO m => m Bool

-- | Is the ATI_vertex_attrib_array_object extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetATIVertexAttribArrayObject in
--   those cases instead.
gl_ATI_vertex_attrib_array_object :: Bool
glGetVertexAttribArrayObjectfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVertexAttribArrayObjectivATI :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glVertexAttribArrayObjectATI :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> m ()

module Graphics.GL.ATI.VertexArrayObject

-- | Is the ATI_vertex_array_object extension supported?
glGetATIVertexArrayObject :: MonadIO m => m Bool

-- | Is the ATI_vertex_array_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetATIVertexArrayObject in those cases
--   instead.
gl_ATI_vertex_array_object :: Bool
pattern GL_ARRAY_OBJECT_BUFFER_ATI :: GLenum
pattern GL_ARRAY_OBJECT_OFFSET_ATI :: GLenum
pattern GL_DISCARD_ATI :: GLenum
pattern GL_DYNAMIC_ATI :: GLenum
pattern GL_OBJECT_BUFFER_SIZE_ATI :: GLenum
pattern GL_OBJECT_BUFFER_USAGE_ATI :: GLenum
pattern GL_PRESERVE_ATI :: GLenum
pattern GL_STATIC_ATI :: GLenum
glArrayObjectATI :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> m ()
glFreeObjectBufferATI :: MonadIO m => GLuint -> m ()
glGetArrayObjectfvATI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetArrayObjectivATI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetObjectBufferfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetObjectBufferivATI :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetVariantArrayObjectfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVariantArrayObjectivATI :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glIsObjectBufferATI :: MonadIO m => GLuint -> m GLboolean
glNewObjectBufferATI :: MonadIO m => GLsizei -> Ptr a -> GLenum -> m GLuint
glUpdateObjectBufferATI :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> m ()
glVariantArrayObjectATI :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> m ()

module Graphics.GL.ATI.SeparateStencil

-- | Is the ATI_separate_stencil extension supported?
glGetATISeparateStencil :: MonadIO m => m Bool

-- | Is the ATI_separate_stencil extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetATISeparateStencil in those cases
--   instead.
gl_ATI_separate_stencil :: Bool
pattern GL_STENCIL_BACK_FAIL_ATI :: GLenum
pattern GL_STENCIL_BACK_FUNC_ATI :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI :: GLenum
glStencilFuncSeparateATI :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | This command is an alias for glStencilOpSeparate.
glStencilOpSeparateATI :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

module Graphics.GL.ATI.PNTriangles

-- | Is the ATI_pn_triangles extension supported?
glGetATIPNTriangles :: MonadIO m => m Bool

-- | Is the ATI_pn_triangles extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetATIPNTriangles in those cases instead.
gl_ATI_pn_triangles :: Bool
pattern GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
pattern GL_PN_TRIANGLES_ATI :: GLenum
pattern GL_PN_TRIANGLES_NORMAL_MODE_ATI :: GLenum
pattern GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI :: GLenum
pattern GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI :: GLenum
pattern GL_PN_TRIANGLES_POINT_MODE_ATI :: GLenum
pattern GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI :: GLenum
pattern GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI :: GLenum
pattern GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
glPNTrianglesfATI :: MonadIO m => GLenum -> GLfloat -> m ()
glPNTrianglesiATI :: MonadIO m => GLenum -> GLint -> m ()

module Graphics.GL.ATI.MapObjectBuffer

-- | Is the ATI_map_object_buffer extension supported?
glGetATIMapObjectBuffer :: MonadIO m => m Bool

-- | Is the ATI_map_object_buffer extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetATIMapObjectBuffer in those cases
--   instead.
gl_ATI_map_object_buffer :: Bool
glMapObjectBufferATI :: MonadIO m => GLuint -> m (Ptr a)
glUnmapObjectBufferATI :: MonadIO m => GLuint -> m ()

module Graphics.GL.ATI.FragmentShader

-- | Is the ATI_fragment_shader extension supported?
glGetATIFragmentShader :: MonadIO m => m Bool

-- | Is the ATI_fragment_shader extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetATIFragmentShader in those cases
--   instead.
gl_ATI_fragment_shader :: Bool
pattern GL_2X_BIT_ATI :: GLbitfield
pattern GL_4X_BIT_ATI :: GLbitfield
pattern GL_8X_BIT_ATI :: GLbitfield
pattern GL_ADD_ATI :: GLenum
pattern GL_BIAS_BIT_ATI :: GLbitfield
pattern GL_BLUE_BIT_ATI :: GLbitfield
pattern GL_CND0_ATI :: GLenum
pattern GL_CND_ATI :: GLenum
pattern GL_COLOR_ALPHA_PAIRING_ATI :: GLenum
pattern GL_COMP_BIT_ATI :: GLbitfield
pattern GL_CON_0_ATI :: GLenum
pattern GL_CON_10_ATI :: GLenum
pattern GL_CON_11_ATI :: GLenum
pattern GL_CON_12_ATI :: GLenum
pattern GL_CON_13_ATI :: GLenum
pattern GL_CON_14_ATI :: GLenum
pattern GL_CON_15_ATI :: GLenum
pattern GL_CON_16_ATI :: GLenum
pattern GL_CON_17_ATI :: GLenum
pattern GL_CON_18_ATI :: GLenum
pattern GL_CON_19_ATI :: GLenum
pattern GL_CON_1_ATI :: GLenum
pattern GL_CON_20_ATI :: GLenum
pattern GL_CON_21_ATI :: GLenum
pattern GL_CON_22_ATI :: GLenum
pattern GL_CON_23_ATI :: GLenum
pattern GL_CON_24_ATI :: GLenum
pattern GL_CON_25_ATI :: GLenum
pattern GL_CON_26_ATI :: GLenum
pattern GL_CON_27_ATI :: GLenum
pattern GL_CON_28_ATI :: GLenum
pattern GL_CON_29_ATI :: GLenum
pattern GL_CON_2_ATI :: GLenum
pattern GL_CON_30_ATI :: GLenum
pattern GL_CON_31_ATI :: GLenum
pattern GL_CON_3_ATI :: GLenum
pattern GL_CON_4_ATI :: GLenum
pattern GL_CON_5_ATI :: GLenum
pattern GL_CON_6_ATI :: GLenum
pattern GL_CON_7_ATI :: GLenum
pattern GL_CON_8_ATI :: GLenum
pattern GL_CON_9_ATI :: GLenum
pattern GL_DOT2_ADD_ATI :: GLenum
pattern GL_DOT3_ATI :: GLenum
pattern GL_DOT4_ATI :: GLenum
pattern GL_EIGHTH_BIT_ATI :: GLbitfield
pattern GL_FRAGMENT_SHADER_ATI :: GLenum
pattern GL_GREEN_BIT_ATI :: GLbitfield
pattern GL_HALF_BIT_ATI :: GLbitfield
pattern GL_LERP_ATI :: GLenum
pattern GL_MAD_ATI :: GLenum
pattern GL_MOV_ATI :: GLenum
pattern GL_MUL_ATI :: GLenum
pattern GL_NEGATE_BIT_ATI :: GLbitfield
pattern GL_NUM_FRAGMENT_CONSTANTS_ATI :: GLenum
pattern GL_NUM_FRAGMENT_REGISTERS_ATI :: GLenum
pattern GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI :: GLenum
pattern GL_NUM_INSTRUCTIONS_PER_PASS_ATI :: GLenum
pattern GL_NUM_INSTRUCTIONS_TOTAL_ATI :: GLenum
pattern GL_NUM_LOOPBACK_COMPONENTS_ATI :: GLenum
pattern GL_NUM_PASSES_ATI :: GLenum
pattern GL_QUARTER_BIT_ATI :: GLbitfield
pattern GL_RED_BIT_ATI :: GLbitfield
pattern GL_REG_0_ATI :: GLenum
pattern GL_REG_10_ATI :: GLenum
pattern GL_REG_11_ATI :: GLenum
pattern GL_REG_12_ATI :: GLenum
pattern GL_REG_13_ATI :: GLenum
pattern GL_REG_14_ATI :: GLenum
pattern GL_REG_15_ATI :: GLenum
pattern GL_REG_16_ATI :: GLenum
pattern GL_REG_17_ATI :: GLenum
pattern GL_REG_18_ATI :: GLenum
pattern GL_REG_19_ATI :: GLenum
pattern GL_REG_1_ATI :: GLenum
pattern GL_REG_20_ATI :: GLenum
pattern GL_REG_21_ATI :: GLenum
pattern GL_REG_22_ATI :: GLenum
pattern GL_REG_23_ATI :: GLenum
pattern GL_REG_24_ATI :: GLenum
pattern GL_REG_25_ATI :: GLenum
pattern GL_REG_26_ATI :: GLenum
pattern GL_REG_27_ATI :: GLenum
pattern GL_REG_28_ATI :: GLenum
pattern GL_REG_29_ATI :: GLenum
pattern GL_REG_2_ATI :: GLenum
pattern GL_REG_30_ATI :: GLenum
pattern GL_REG_31_ATI :: GLenum
pattern GL_REG_3_ATI :: GLenum
pattern GL_REG_4_ATI :: GLenum
pattern GL_REG_5_ATI :: GLenum
pattern GL_REG_6_ATI :: GLenum
pattern GL_REG_7_ATI :: GLenum
pattern GL_REG_8_ATI :: GLenum
pattern GL_REG_9_ATI :: GLenum
pattern GL_SATURATE_BIT_ATI :: GLbitfield
pattern GL_SECONDARY_INTERPOLATOR_ATI :: GLenum
pattern GL_SUB_ATI :: GLenum
pattern GL_SWIZZLE_STQ_ATI :: GLenum
pattern GL_SWIZZLE_STQ_DQ_ATI :: GLenum
pattern GL_SWIZZLE_STRQ_ATI :: GLenum
pattern GL_SWIZZLE_STRQ_DQ_ATI :: GLenum
pattern GL_SWIZZLE_STR_ATI :: GLenum
pattern GL_SWIZZLE_STR_DR_ATI :: GLenum
glAlphaFragmentOp1ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glAlphaFragmentOp2ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glAlphaFragmentOp3ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glBeginFragmentShaderATI :: MonadIO m => m ()
glBindFragmentShaderATI :: MonadIO m => GLuint -> m ()
glColorFragmentOp1ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glColorFragmentOp2ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glColorFragmentOp3ATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glDeleteFragmentShaderATI :: MonadIO m => GLuint -> m ()
glEndFragmentShaderATI :: MonadIO m => m ()
glGenFragmentShadersATI :: MonadIO m => GLuint -> m GLuint
glPassTexCoordATI :: MonadIO m => GLuint -> GLuint -> GLenum -> m ()
glSampleMapATI :: MonadIO m => GLuint -> GLuint -> GLenum -> m ()
glSetFragmentShaderConstantATI :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

module Graphics.GL.ATI.EnvmapBumpmap

-- | Is the ATI_envmap_bumpmap extension supported?
glGetATIEnvmapBumpmap :: MonadIO m => m Bool

-- | Is the ATI_envmap_bumpmap extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetATIEnvmapBumpmap in those cases instead.
gl_ATI_envmap_bumpmap :: Bool
pattern GL_BUMP_ENVMAP_ATI :: GLenum
pattern GL_BUMP_NUM_TEX_UNITS_ATI :: GLenum
pattern GL_BUMP_ROT_MATRIX_ATI :: GLenum
pattern GL_BUMP_ROT_MATRIX_SIZE_ATI :: GLenum
pattern GL_BUMP_TARGET_ATI :: GLenum
pattern GL_BUMP_TEX_UNITS_ATI :: GLenum
pattern GL_DU8DV8_ATI :: GLenum
pattern GL_DUDV_ATI :: GLenum
glGetTexBumpParameterfvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetTexBumpParameterivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glTexBumpParameterfvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glTexBumpParameterivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()

module Graphics.GL.ATI.ElementArray

-- | Is the ATI_element_array extension supported?
glGetATIElementArray :: MonadIO m => m Bool

-- | Is the ATI_element_array extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetATIElementArray in those cases instead.
gl_ATI_element_array :: Bool
pattern GL_ELEMENT_ARRAY_ATI :: GLenum
pattern GL_ELEMENT_ARRAY_POINTER_ATI :: GLenum
pattern GL_ELEMENT_ARRAY_TYPE_ATI :: GLenum
glDrawElementArrayATI :: MonadIO m => GLenum -> GLsizei -> m ()
glDrawRangeElementArrayATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()
glElementPointerATI :: MonadIO m => GLenum -> Ptr a -> m ()

module Graphics.GL.ATI.DrawBuffers

-- | Is the ATI_draw_buffers extension supported?
glGetATIDrawBuffers :: MonadIO m => m Bool

-- | Is the ATI_draw_buffers extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetATIDrawBuffers in those cases instead.
gl_ATI_draw_buffers :: Bool
pattern GL_DRAW_BUFFER0_ATI :: GLenum
pattern GL_DRAW_BUFFER10_ATI :: GLenum
pattern GL_DRAW_BUFFER11_ATI :: GLenum
pattern GL_DRAW_BUFFER12_ATI :: GLenum
pattern GL_DRAW_BUFFER13_ATI :: GLenum
pattern GL_DRAW_BUFFER14_ATI :: GLenum
pattern GL_DRAW_BUFFER15_ATI :: GLenum
pattern GL_DRAW_BUFFER1_ATI :: GLenum
pattern GL_DRAW_BUFFER2_ATI :: GLenum
pattern GL_DRAW_BUFFER3_ATI :: GLenum
pattern GL_DRAW_BUFFER4_ATI :: GLenum
pattern GL_DRAW_BUFFER5_ATI :: GLenum
pattern GL_DRAW_BUFFER6_ATI :: GLenum
pattern GL_DRAW_BUFFER7_ATI :: GLenum
pattern GL_DRAW_BUFFER8_ATI :: GLenum
pattern GL_DRAW_BUFFER9_ATI :: GLenum
pattern GL_MAX_DRAW_BUFFERS_ATI :: GLenum

-- | This command is an alias for glDrawBuffers.
glDrawBuffersATI :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | A convenience module, combining all raw modules containing ATI
--   extensions.
module Graphics.GL.ATI

module Graphics.GL.ARB.WindowPos

-- | Is the ARB_window_pos extension supported?
glGetARBWindowPos :: MonadIO m => m Bool

-- | Is the ARB_window_pos extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBWindowPos in those cases instead.
gl_ARB_window_pos :: Bool

-- | The vector equivalent of this command is glWindowPos2dvARB.
--   This command is an alias for glWindowPos2d.
glWindowPos2dARB :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | This command is an alias for glWindowPos2dv.
glWindowPos2dvARB :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos2fvARB.
--   This command is an alias for glWindowPos2f.
glWindowPos2fARB :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | This command is an alias for glWindowPos2fv.
glWindowPos2fvARB :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos2ivARB.
--   This command is an alias for glWindowPos2i.
glWindowPos2iARB :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for glWindowPos2iv.
glWindowPos2ivARB :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos2svARB.
--   This command is an alias for glWindowPos2s.
glWindowPos2sARB :: MonadIO m => GLshort -> GLshort -> m ()

-- | This command is an alias for glWindowPos2sv.
glWindowPos2svARB :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is glWindowPos3dvARB.
--   This command is an alias for glWindowPos3d.
glWindowPos3dARB :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glWindowPos3dv.
glWindowPos3dvARB :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glWindowPos3fvARB.
--   This command is an alias for glWindowPos3f.
glWindowPos3fARB :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glWindowPos3fv.
glWindowPos3fvARB :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glWindowPos3ivARB.
--   This command is an alias for glWindowPos3i.
glWindowPos3iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glWindowPos3iv.
glWindowPos3ivARB :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is glWindowPos3svARB.
--   This command is an alias for glWindowPos3s.
glWindowPos3sARB :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glWindowPos3sv.
glWindowPos3svARB :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.ARB.ViewportArray

-- | Is the ARB_viewport_array extension supported?
glGetARBViewportArray :: MonadIO m => m Bool

-- | Is the ARB_viewport_array extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBViewportArray in those cases instead.
gl_ARB_viewport_array :: Bool
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

module Graphics.GL.ARB.VertexType2101010RevCore

-- | Is the ARB_vertex_type_2_10_10_10_rev extension supported?
glGetARBVertexType2101010Rev :: MonadIO m => m Bool

-- | Is the ARB_vertex_type_2_10_10_10_rev extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBVertexType2101010Rev in those
--   cases instead.
gl_ARB_vertex_type_2_10_10_10_rev :: Bool
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

module Graphics.GL.ARB.VertexType2101010RevCompatibility

-- | Is the ARB_vertex_type_2_10_10_10_rev extension supported?
glGetARBVertexType2101010Rev :: MonadIO m => m Bool

-- | Is the ARB_vertex_type_2_10_10_10_rev extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBVertexType2101010Rev in those
--   cases instead.
gl_ARB_vertex_type_2_10_10_10_rev :: Bool
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

module Graphics.GL.ARB.VertexShader

-- | Is the ARB_vertex_shader extension supported?
glGetARBVertexShader :: MonadIO m => m Bool

-- | Is the ARB_vertex_shader extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBVertexShader in those cases instead.
gl_ARB_vertex_shader :: Bool
pattern GL_CURRENT_VERTEX_ATTRIB_ARB :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_MAT2_ARB :: GLenum
pattern GL_FLOAT_MAT3_ARB :: GLenum
pattern GL_FLOAT_MAT4_ARB :: GLenum
pattern GL_FLOAT_VEC2_ARB :: GLenum
pattern GL_FLOAT_VEC3_ARB :: GLenum
pattern GL_FLOAT_VEC4_ARB :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_MAX_TEXTURE_COORDS_ARB :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_MAX_VARYING_FLOATS_ARB :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS_ARB :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB :: GLenum
pattern GL_OBJECT_ACTIVE_ATTRIBUTES_ARB :: GLenum
pattern GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE_ARB :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE_ARB :: GLenum
pattern GL_VERTEX_SHADER_ARB :: GLenum

-- | This command is an alias for glBindAttribLocation.
glBindAttribLocationARB :: MonadIO m => GLhandleARB -> GLuint -> Ptr GLcharARB -> m ()

-- | This command is an alias for glDisableVertexAttribArray.
glDisableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glEnableVertexAttribArray.
glEnableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glGetActiveAttrib.
glGetActiveAttribARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()

-- | This command is an alias for glGetAttribLocation.
glGetAttribLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint

-- | This command is an alias for glGetVertexAttribPointerv.
glGetVertexAttribPointervARB :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetVertexAttribdv.
glGetVertexAttribdvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetVertexAttribfv.
glGetVertexAttribfvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetVertexAttribiv.
glGetVertexAttribivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glVertexAttrib1dvARB.
--   This command is an alias for glVertexAttrib1d.
glVertexAttrib1dARB :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib1dv.
glVertexAttrib1dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib1fvARB.
--   This command is an alias for glVertexAttrib1f.
glVertexAttrib1fARB :: MonadIO m => GLuint -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib1fv.
glVertexAttrib1fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib1svARB.
--   This command is an alias for glVertexAttrib1s.
glVertexAttrib1sARB :: MonadIO m => GLuint -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib1sv.
glVertexAttrib1svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib2dvARB.
--   This command is an alias for glVertexAttrib2d.
glVertexAttrib2dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib2dv.
glVertexAttrib2dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib2fvARB.
--   This command is an alias for glVertexAttrib2f.
glVertexAttrib2fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib2fv.
glVertexAttrib2fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib2svARB.
--   This command is an alias for glVertexAttrib2s.
glVertexAttrib2sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib2sv.
glVertexAttrib2svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib3dvARB.
--   This command is an alias for glVertexAttrib3d.
glVertexAttrib3dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib3dv.
glVertexAttrib3dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib3fvARB.
--   This command is an alias for glVertexAttrib3f.
glVertexAttrib3fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib3fv.
glVertexAttrib3fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib3svARB.
--   This command is an alias for glVertexAttrib3s.
glVertexAttrib3sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib3sv.
glVertexAttrib3svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4Nbv.
glVertexAttrib4NbvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | This command is an alias for glVertexAttrib4Niv.
glVertexAttrib4NivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for glVertexAttrib4Nsv.
glVertexAttrib4NsvARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4Nub.
glVertexAttrib4NubARB :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4Nubv.
glVertexAttrib4NubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4Nuiv.
glVertexAttrib4NuivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttrib4Nusv.
glVertexAttrib4NusvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for glVertexAttrib4bv.
glVertexAttrib4bvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glVertexAttrib4dvARB.
--   This command is an alias for glVertexAttrib4d.
glVertexAttrib4dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib4dv.
glVertexAttrib4dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib4fvARB.
--   This command is an alias for glVertexAttrib4f.
glVertexAttrib4fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib4fv.
glVertexAttrib4fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glVertexAttrib4iv.
glVertexAttrib4ivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttrib4svARB. This command is an alias for
--   glVertexAttrib4s.
glVertexAttrib4sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib4sv.
glVertexAttrib4svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4ubv.
glVertexAttrib4ubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4uiv.
glVertexAttrib4uivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttrib4usv.
glVertexAttrib4usvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for glVertexAttribPointer.
glVertexAttribPointerARB :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

module Graphics.GL.ARB.VertexProgram

-- | Is the ARB_vertex_program extension supported?
glGetARBVertexProgram :: MonadIO m => m Bool

-- | Is the ARB_vertex_program extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBVertexProgram in those cases instead.
gl_ARB_vertex_program :: Bool
pattern GL_COLOR_SUM_ARB :: GLenum
pattern GL_CURRENT_MATRIX_ARB :: GLenum
pattern GL_CURRENT_MATRIX_STACK_DEPTH_ARB :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB_ARB :: GLenum
pattern GL_MATRIX0_ARB :: GLenum
pattern GL_MATRIX10_ARB :: GLenum
pattern GL_MATRIX11_ARB :: GLenum
pattern GL_MATRIX12_ARB :: GLenum
pattern GL_MATRIX13_ARB :: GLenum
pattern GL_MATRIX14_ARB :: GLenum
pattern GL_MATRIX15_ARB :: GLenum
pattern GL_MATRIX16_ARB :: GLenum
pattern GL_MATRIX17_ARB :: GLenum
pattern GL_MATRIX18_ARB :: GLenum
pattern GL_MATRIX19_ARB :: GLenum
pattern GL_MATRIX1_ARB :: GLenum
pattern GL_MATRIX20_ARB :: GLenum
pattern GL_MATRIX21_ARB :: GLenum
pattern GL_MATRIX22_ARB :: GLenum
pattern GL_MATRIX23_ARB :: GLenum
pattern GL_MATRIX24_ARB :: GLenum
pattern GL_MATRIX25_ARB :: GLenum
pattern GL_MATRIX26_ARB :: GLenum
pattern GL_MATRIX27_ARB :: GLenum
pattern GL_MATRIX28_ARB :: GLenum
pattern GL_MATRIX29_ARB :: GLenum
pattern GL_MATRIX2_ARB :: GLenum
pattern GL_MATRIX30_ARB :: GLenum
pattern GL_MATRIX31_ARB :: GLenum
pattern GL_MATRIX3_ARB :: GLenum
pattern GL_MATRIX4_ARB :: GLenum
pattern GL_MATRIX5_ARB :: GLenum
pattern GL_MATRIX6_ARB :: GLenum
pattern GL_MATRIX7_ARB :: GLenum
pattern GL_MATRIX8_ARB :: GLenum
pattern GL_MATRIX9_ARB :: GLenum
pattern GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_ATTRIBS_ARB :: GLenum
pattern GL_MAX_PROGRAM_ENV_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_MATRICES_ARB :: GLenum
pattern GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
pattern GL_MAX_PROGRAM_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEMPORARIES_ARB :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS_ARB :: GLenum
pattern GL_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
pattern GL_PROGRAM_ATTRIBS_ARB :: GLenum
pattern GL_PROGRAM_BINDING_ARB :: GLenum
pattern GL_PROGRAM_ERROR_POSITION_ARB :: GLenum
pattern GL_PROGRAM_ERROR_STRING_ARB :: GLenum
pattern GL_PROGRAM_FORMAT_ARB :: GLenum
pattern GL_PROGRAM_FORMAT_ASCII_ARB :: GLenum
pattern GL_PROGRAM_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_LENGTH_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
pattern GL_PROGRAM_PARAMETERS_ARB :: GLenum
pattern GL_PROGRAM_STRING_ARB :: GLenum
pattern GL_PROGRAM_TEMPORARIES_ARB :: GLenum
pattern GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: GLenum
pattern GL_TRANSPOSE_CURRENT_MATRIX_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: GLenum
pattern GL_VERTEX_PROGRAM_ARB :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE_ARB :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE_ARB :: GLenum
glBindProgramARB :: MonadIO m => GLenum -> GLuint -> m ()
glDeleteProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glDisableVertexAttribArray.
glDisableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glEnableVertexAttribArray.
glEnableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()
glGenProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetProgramEnvParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramEnvParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramLocalParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramLocalParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramStringARB :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()
glGetProgramivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetVertexAttribPointerv.
glGetVertexAttribPointervARB :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetVertexAttribdv.
glGetVertexAttribdvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for glGetVertexAttribfv.
glGetVertexAttribfvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetVertexAttribiv.
glGetVertexAttribivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glIsProgramARB :: MonadIO m => GLuint -> m GLboolean

-- | The vector equivalent of this command is
--   glProgramEnvParameter4dvARB.
glProgramEnvParameter4dARB :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramEnvParameter4dvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramEnvParameter4fvARB.
glProgramEnvParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramEnvParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameter4dvARB.
glProgramLocalParameter4dARB :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramLocalParameter4dvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameter4fvARB.
glProgramLocalParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramLocalParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glProgramStringARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is glVertexAttrib1dvARB.
--   This command is an alias for glVertexAttrib1d.
glVertexAttrib1dARB :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib1dv.
glVertexAttrib1dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib1fvARB.
--   This command is an alias for glVertexAttrib1f.
glVertexAttrib1fARB :: MonadIO m => GLuint -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib1fv.
glVertexAttrib1fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib1svARB.
--   This command is an alias for glVertexAttrib1s.
glVertexAttrib1sARB :: MonadIO m => GLuint -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib1sv.
glVertexAttrib1svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib2dvARB.
--   This command is an alias for glVertexAttrib2d.
glVertexAttrib2dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib2dv.
glVertexAttrib2dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib2fvARB.
--   This command is an alias for glVertexAttrib2f.
glVertexAttrib2fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib2fv.
glVertexAttrib2fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib2svARB.
--   This command is an alias for glVertexAttrib2s.
glVertexAttrib2sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib2sv.
glVertexAttrib2svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glVertexAttrib3dvARB.
--   This command is an alias for glVertexAttrib3d.
glVertexAttrib3dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib3dv.
glVertexAttrib3dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib3fvARB.
--   This command is an alias for glVertexAttrib3f.
glVertexAttrib3fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib3fv.
glVertexAttrib3fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glVertexAttrib3svARB.
--   This command is an alias for glVertexAttrib3s.
glVertexAttrib3sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib3sv.
glVertexAttrib3svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4Nbv.
glVertexAttrib4NbvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | This command is an alias for glVertexAttrib4Niv.
glVertexAttrib4NivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for glVertexAttrib4Nsv.
glVertexAttrib4NsvARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4Nub.
glVertexAttrib4NubARB :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4Nubv.
glVertexAttrib4NubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4Nuiv.
glVertexAttrib4NuivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttrib4Nusv.
glVertexAttrib4NusvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for glVertexAttrib4bv.
glVertexAttrib4bvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | The vector equivalent of this command is glVertexAttrib4dvARB.
--   This command is an alias for glVertexAttrib4d.
glVertexAttrib4dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glVertexAttrib4dv.
glVertexAttrib4dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glVertexAttrib4fvARB.
--   This command is an alias for glVertexAttrib4f.
glVertexAttrib4fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glVertexAttrib4fv.
glVertexAttrib4fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for glVertexAttrib4iv.
glVertexAttrib4ivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   glVertexAttrib4svARB. This command is an alias for
--   glVertexAttrib4s.
glVertexAttrib4sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glVertexAttrib4sv.
glVertexAttrib4svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for glVertexAttrib4ubv.
glVertexAttrib4ubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for glVertexAttrib4uiv.
glVertexAttrib4uivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for glVertexAttrib4usv.
glVertexAttrib4usvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for glVertexAttribPointer.
glVertexAttribPointerARB :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

module Graphics.GL.ARB.VertexBufferObject

-- | Is the ARB_vertex_buffer_object extension supported?
glGetARBVertexBufferObject :: MonadIO m => m Bool

-- | Is the ARB_vertex_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBVertexBufferObject in those cases
--   instead.
gl_ARB_vertex_buffer_object :: Bool
pattern GL_ARRAY_BUFFER_ARB :: GLenum
pattern GL_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_BUFFER_ACCESS_ARB :: GLenum
pattern GL_BUFFER_MAPPED_ARB :: GLenum
pattern GL_BUFFER_MAP_POINTER_ARB :: GLenum
pattern GL_BUFFER_SIZE_ARB :: GLenum
pattern GL_BUFFER_USAGE_ARB :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_DYNAMIC_COPY_ARB :: GLenum
pattern GL_DYNAMIC_DRAW_ARB :: GLenum
pattern GL_DYNAMIC_READ_ARB :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_ARB :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_READ_ONLY_ARB :: GLenum
pattern GL_READ_WRITE_ARB :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_STATIC_COPY_ARB :: GLenum
pattern GL_STATIC_DRAW_ARB :: GLenum
pattern GL_STATIC_READ_ARB :: GLenum
pattern GL_STREAM_COPY_ARB :: GLenum
pattern GL_STREAM_DRAW_ARB :: GLenum
pattern GL_STREAM_READ_ARB :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB :: GLenum
pattern GL_WRITE_ONLY_ARB :: GLenum

-- | This command is an alias for glBindBuffer.
glBindBufferARB :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glBufferData.
glBufferDataARB :: MonadIO m => GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> m ()

-- | This command is an alias for glBufferSubData.
glBufferSubDataARB :: MonadIO m => GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> m ()

-- | This command is an alias for glDeleteBuffers.
glDeleteBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenBuffers.
glGenBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGetBufferParameteriv.
glGetBufferParameterivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetBufferPointerv.
glGetBufferPointervARB :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for glGetBufferSubData.
glGetBufferSubDataARB :: MonadIO m => GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> m ()

-- | This command is an alias for glIsBuffer.
glIsBufferARB :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for glMapBuffer.
glMapBufferARB :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | This command is an alias for glUnmapBuffer.
glUnmapBufferARB :: MonadIO m => GLenum -> m GLboolean

module Graphics.GL.ARB.VertexBlend

-- | Is the ARB_vertex_blend extension supported?
glGetARBVertexBlend :: MonadIO m => m Bool

-- | Is the ARB_vertex_blend extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBVertexBlend in those cases instead.
gl_ARB_vertex_blend :: Bool
pattern GL_ACTIVE_VERTEX_UNITS_ARB :: GLenum
pattern GL_CURRENT_WEIGHT_ARB :: GLenum
pattern GL_MAX_VERTEX_UNITS_ARB :: GLenum
pattern GL_MODELVIEW0_ARB :: GLenum
pattern GL_MODELVIEW10_ARB :: GLenum
pattern GL_MODELVIEW11_ARB :: GLenum
pattern GL_MODELVIEW12_ARB :: GLenum
pattern GL_MODELVIEW13_ARB :: GLenum
pattern GL_MODELVIEW14_ARB :: GLenum
pattern GL_MODELVIEW15_ARB :: GLenum
pattern GL_MODELVIEW16_ARB :: GLenum
pattern GL_MODELVIEW17_ARB :: GLenum
pattern GL_MODELVIEW18_ARB :: GLenum
pattern GL_MODELVIEW19_ARB :: GLenum
pattern GL_MODELVIEW1_ARB :: GLenum
pattern GL_MODELVIEW20_ARB :: GLenum
pattern GL_MODELVIEW21_ARB :: GLenum
pattern GL_MODELVIEW22_ARB :: GLenum
pattern GL_MODELVIEW23_ARB :: GLenum
pattern GL_MODELVIEW24_ARB :: GLenum
pattern GL_MODELVIEW25_ARB :: GLenum
pattern GL_MODELVIEW26_ARB :: GLenum
pattern GL_MODELVIEW27_ARB :: GLenum
pattern GL_MODELVIEW28_ARB :: GLenum
pattern GL_MODELVIEW29_ARB :: GLenum
pattern GL_MODELVIEW2_ARB :: GLenum
pattern GL_MODELVIEW30_ARB :: GLenum
pattern GL_MODELVIEW31_ARB :: GLenum
pattern GL_MODELVIEW3_ARB :: GLenum
pattern GL_MODELVIEW4_ARB :: GLenum
pattern GL_MODELVIEW5_ARB :: GLenum
pattern GL_MODELVIEW6_ARB :: GLenum
pattern GL_MODELVIEW7_ARB :: GLenum
pattern GL_MODELVIEW8_ARB :: GLenum
pattern GL_MODELVIEW9_ARB :: GLenum
pattern GL_VERTEX_BLEND_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_POINTER_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_SIZE_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_STRIDE_ARB :: GLenum
pattern GL_WEIGHT_ARRAY_TYPE_ARB :: GLenum
pattern GL_WEIGHT_SUM_UNITY_ARB :: GLenum
glVertexBlendARB :: MonadIO m => GLint -> m ()
glWeightPointerARB :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glWeightbvARB :: MonadIO m => GLint -> Ptr GLbyte -> m ()
glWeightdvARB :: MonadIO m => GLint -> Ptr GLdouble -> m ()
glWeightfvARB :: MonadIO m => GLint -> Ptr GLfloat -> m ()
glWeightivARB :: MonadIO m => GLint -> Ptr GLint -> m ()
glWeightsvARB :: MonadIO m => GLint -> Ptr GLshort -> m ()
glWeightubvARB :: MonadIO m => GLint -> Ptr GLubyte -> m ()
glWeightuivARB :: MonadIO m => GLint -> Ptr GLuint -> m ()
glWeightusvARB :: MonadIO m => GLint -> Ptr GLushort -> m ()

module Graphics.GL.ARB.VertexAttribBinding

-- | Is the ARB_vertex_attrib_binding extension supported?
glGetARBVertexAttribBinding :: MonadIO m => m Bool

-- | Is the ARB_vertex_attrib_binding extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBVertexAttribBinding in those cases
--   instead.
gl_ARB_vertex_attrib_binding :: Bool
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

module Graphics.GL.ARB.VertexAttrib64Bit

-- | Is the ARB_vertex_attrib_64bit extension supported?
glGetARBVertexAttrib64Bit :: MonadIO m => m Bool

-- | Is the ARB_vertex_attrib_64bit extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBVertexAttrib64Bit in those cases
--   instead.
gl_ARB_vertex_attrib_64bit :: Bool
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_RGB32I :: GLenum

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.ARB.VertexArrayObject

-- | Is the ARB_vertex_array_object extension supported?
glGetARBVertexArrayObject :: MonadIO m => m Bool

-- | Is the ARB_vertex_array_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBVertexArrayObject in those cases
--   instead.
gl_ARB_vertex_array_object :: Bool
pattern GL_VERTEX_ARRAY_BINDING :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

module Graphics.GL.ARB.UniformBufferObject

-- | Is the ARB_uniform_buffer_object extension supported?
glGetARBUniformBufferObject :: MonadIO m => m Bool

-- | Is the ARB_uniform_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBUniformBufferObject in those cases
--   instead.
gl_ARB_uniform_buffer_object :: Bool
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

module Graphics.GL.ARB.TransposeMatrix

-- | Is the ARB_transpose_matrix extension supported?
glGetARBTransposeMatrix :: MonadIO m => m Bool

-- | Is the ARB_transpose_matrix extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTransposeMatrix in those cases
--   instead.
gl_ARB_transpose_matrix :: Bool
pattern GL_TRANSPOSE_COLOR_MATRIX_ARB :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX_ARB :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX_ARB :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX_ARB :: GLenum

-- | This command is an alias for glLoadTransposeMatrixd.
glLoadTransposeMatrixdARB :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for glLoadTransposeMatrixf.
glLoadTransposeMatrixfARB :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for glMultTransposeMatrixd.
glMultTransposeMatrixdARB :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for glMultTransposeMatrixf.
glMultTransposeMatrixfARB :: MonadIO m => Ptr GLfloat -> m ()

module Graphics.GL.ARB.TransformFeedbackInstanced

-- | Is the ARB_transform_feedback_instanced extension supported?
glGetARBTransformFeedbackInstanced :: MonadIO m => m Bool

-- | Is the ARB_transform_feedback_instanced extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBTransformFeedbackInstanced in those cases instead.
gl_ARB_transform_feedback_instanced :: Bool

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

module Graphics.GL.ARB.TransformFeedback3

-- | Is the ARB_transform_feedback3 extension supported?
glGetARBTransformFeedback3 :: MonadIO m => m Bool

-- | Is the ARB_transform_feedback3 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTransformFeedback3 in those cases
--   instead.
gl_ARB_transform_feedback3 :: Bool
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.ARB.TransformFeedback2

-- | Is the ARB_transform_feedback2 extension supported?
glGetARBTransformFeedback2 :: MonadIO m => m Bool

-- | Is the ARB_transform_feedback2 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTransformFeedback2 in those cases
--   instead.
gl_ARB_transform_feedback2 :: Bool
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

module Graphics.GL.ARB.TimerQuery

-- | Is the ARB_timer_query extension supported?
glGetARBTimerQuery :: MonadIO m => m Bool

-- | Is the ARB_timer_query extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBTimerQuery in those cases instead.
gl_ARB_timer_query :: Bool
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

module Graphics.GL.ARB.TextureView

-- | Is the ARB_texture_view extension supported?
glGetARBTextureView :: MonadIO m => m Bool

-- | Is the ARB_texture_view extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBTextureView in those cases instead.
gl_ARB_texture_view :: Bool
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

module Graphics.GL.ARB.TextureStorageMultisample

-- | Is the ARB_texture_storage_multisample extension supported?
glGetARBTextureStorageMultisample :: MonadIO m => m Bool

-- | Is the ARB_texture_storage_multisample extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBTextureStorageMultisample in those cases instead.
gl_ARB_texture_storage_multisample :: Bool

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

module Graphics.GL.ARB.TextureStorage

-- | Is the ARB_texture_storage extension supported?
glGetARBTextureStorage :: MonadIO m => m Bool

-- | Is the ARB_texture_storage extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureStorage in those cases
--   instead.
gl_ARB_texture_storage :: Bool
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

module Graphics.GL.ARB.TextureMultisample

-- | Is the ARB_texture_multisample extension supported?
glGetARBTextureMultisample :: MonadIO m => m Bool

-- | Is the ARB_texture_multisample extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureMultisample in those cases
--   instead.
gl_ARB_texture_multisample :: Bool
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

module Graphics.GL.ARB.TextureCompression

-- | Is the ARB_texture_compression extension supported?
glGetARBTextureCompression :: MonadIO m => m Bool

-- | Is the ARB_texture_compression extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureCompression in those cases
--   instead.
gl_ARB_texture_compression :: Bool
pattern GL_COMPRESSED_ALPHA_ARB :: GLenum
pattern GL_COMPRESSED_INTENSITY_ARB :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA_ARB :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ARB :: GLenum
pattern GL_COMPRESSED_RGBA_ARB :: GLenum
pattern GL_COMPRESSED_RGB_ARB :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
pattern GL_TEXTURE_COMPRESSED_ARB :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT_ARB :: GLenum

-- | This command is an alias for glCompressedTexImage1D.
glCompressedTexImage1DARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexImage2D.
glCompressedTexImage2DARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexImage3D.
glCompressedTexImage3DARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexSubImage1D.
glCompressedTexSubImage1DARB :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexSubImage2D.
glCompressedTexSubImage2DARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glCompressedTexSubImage3D.
glCompressedTexSubImage3DARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for glGetCompressedTexImage.
glGetCompressedTexImageARB :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

module Graphics.GL.ARB.TextureBufferRange

-- | Is the ARB_texture_buffer_range extension supported?
glGetARBTextureBufferRange :: MonadIO m => m Bool

-- | Is the ARB_texture_buffer_range extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureBufferRange in those cases
--   instead.
gl_ARB_texture_buffer_range :: Bool
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

module Graphics.GL.ARB.TextureBufferObject

-- | Is the ARB_texture_buffer_object extension supported?
glGetARBTextureBufferObject :: MonadIO m => m Bool

-- | Is the ARB_texture_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureBufferObject in those cases
--   instead.
gl_ARB_texture_buffer_object :: Bool
pattern GL_MAX_TEXTURE_BUFFER_SIZE_ARB :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER_ARB :: GLenum
pattern GL_TEXTURE_BUFFER_ARB :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB :: GLenum
pattern GL_TEXTURE_BUFFER_FORMAT_ARB :: GLenum

-- | This command is an alias for glTexBuffer.
glTexBufferARB :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

module Graphics.GL.ARB.TextureBarrier

-- | Is the ARB_texture_barrier extension supported?
glGetARBTextureBarrier :: MonadIO m => m Bool

-- | Is the ARB_texture_barrier extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTextureBarrier in those cases
--   instead.
gl_ARB_texture_barrier :: Bool

-- | Manual page for OpenGL 4.x.
glTextureBarrier :: MonadIO m => m ()

module Graphics.GL.ARB.TessellationShader

-- | Is the ARB_tessellation_shader extension supported?
glGetARBTessellationShader :: MonadIO m => m Bool

-- | Is the ARB_tessellation_shader extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBTessellationShader in those cases
--   instead.
gl_ARB_tessellation_shader :: Bool
pattern GL_CCW :: GLenum
pattern GL_CW :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

module Graphics.GL.ARB.Sync

-- | Is the ARB_sync extension supported?
glGetARBSync :: MonadIO m => m Bool

-- | Is the ARB_sync extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use glGetARBSync in those cases instead.
gl_ARB_sync :: Bool
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_UNSIGNALED :: GLenum
pattern GL_WAIT_FAILED :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.ARB.SparseTexture

-- | Is the ARB_sparse_texture extension supported?
glGetARBSparseTexture :: MonadIO m => m Bool

-- | Is the ARB_sparse_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBSparseTexture in those cases instead.
gl_ARB_sparse_texture :: Bool
pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB :: GLenum
pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB :: GLenum
pattern GL_MAX_SPARSE_TEXTURE_SIZE_ARB :: GLenum
pattern GL_NUM_SPARSE_LEVELS_ARB :: GLenum
pattern GL_NUM_VIRTUAL_PAGE_SIZES_ARB :: GLenum
pattern GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB :: GLenum
pattern GL_TEXTURE_SPARSE_ARB :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_INDEX_ARB :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_X_ARB :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Y_ARB :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Z_ARB :: GLenum
glTexPageCommitmentARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

module Graphics.GL.ARB.SparseBuffer

-- | Is the ARB_sparse_buffer extension supported?
glGetARBSparseBuffer :: MonadIO m => m Bool

-- | Is the ARB_sparse_buffer extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBSparseBuffer in those cases instead.
gl_ARB_sparse_buffer :: Bool
pattern GL_SPARSE_BUFFER_PAGE_SIZE_ARB :: GLenum
pattern GL_SPARSE_STORAGE_BIT_ARB :: GLbitfield
glBufferPageCommitmentARB :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
glNamedBufferPageCommitmentARB :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
glNamedBufferPageCommitmentEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> m ()

module Graphics.GL.ARB.ShadingLanguageInclude

-- | Is the ARB_shading_language_include extension supported?
glGetARBShadingLanguageInclude :: MonadIO m => m Bool

-- | Is the ARB_shading_language_include extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBShadingLanguageInclude in
--   those cases instead.
gl_ARB_shading_language_include :: Bool
pattern GL_NAMED_STRING_LENGTH_ARB :: GLenum
pattern GL_NAMED_STRING_TYPE_ARB :: GLenum
pattern GL_SHADER_INCLUDE_ARB :: GLenum
glCompileShaderIncludeARB :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()
glDeleteNamedStringARB :: MonadIO m => GLint -> Ptr GLchar -> m ()
glGetNamedStringARB :: MonadIO m => GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> m ()
glGetNamedStringivARB :: MonadIO m => GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> m ()
glIsNamedStringARB :: MonadIO m => GLint -> Ptr GLchar -> m GLboolean
glNamedStringARB :: MonadIO m => GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> m ()

module Graphics.GL.ARB.ShaderSubroutine

-- | Is the ARB_shader_subroutine extension supported?
glGetARBShaderSubroutine :: MonadIO m => m Bool

-- | Is the ARB_shader_subroutine extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBShaderSubroutine in those cases
--   instead.
gl_ARB_shader_subroutine :: Bool
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

module Graphics.GL.ARB.ShaderStorageBufferObject

-- | Is the ARB_shader_storage_buffer_object extension supported?
glGetARBShaderStorageBufferObject :: MonadIO m => m Bool

-- | Is the ARB_shader_storage_buffer_object extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBShaderStorageBufferObject in those cases instead.
gl_ARB_shader_storage_buffer_object :: Bool
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

module Graphics.GL.ARB.ShaderObjects

-- | Is the ARB_shader_objects extension supported?
glGetARBShaderObjects :: MonadIO m => m Bool

-- | Is the ARB_shader_objects extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBShaderObjects in those cases instead.
gl_ARB_shader_objects :: Bool
pattern GL_BOOL_ARB :: GLenum
pattern GL_BOOL_VEC2_ARB :: GLenum
pattern GL_BOOL_VEC3_ARB :: GLenum
pattern GL_BOOL_VEC4_ARB :: GLenum
pattern GL_FLOAT_MAT2_ARB :: GLenum
pattern GL_FLOAT_MAT3_ARB :: GLenum
pattern GL_FLOAT_MAT4_ARB :: GLenum
pattern GL_FLOAT_VEC2_ARB :: GLenum
pattern GL_FLOAT_VEC3_ARB :: GLenum
pattern GL_FLOAT_VEC4_ARB :: GLenum
pattern GL_INT_VEC2_ARB :: GLenum
pattern GL_INT_VEC3_ARB :: GLenum
pattern GL_INT_VEC4_ARB :: GLenum
pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum
pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum
pattern GL_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum
pattern GL_OBJECT_COMPILE_STATUS_ARB :: GLenum
pattern GL_OBJECT_DELETE_STATUS_ARB :: GLenum
pattern GL_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum
pattern GL_OBJECT_LINK_STATUS_ARB :: GLenum
pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum
pattern GL_OBJECT_SUBTYPE_ARB :: GLenum
pattern GL_OBJECT_TYPE_ARB :: GLenum
pattern GL_OBJECT_VALIDATE_STATUS_ARB :: GLenum
pattern GL_PROGRAM_OBJECT_ARB :: GLenum
pattern GL_SAMPLER_1D_ARB :: GLenum
pattern GL_SAMPLER_1D_SHADOW_ARB :: GLenum
pattern GL_SAMPLER_2D_ARB :: GLenum
pattern GL_SAMPLER_2D_RECT_ARB :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum
pattern GL_SAMPLER_2D_SHADOW_ARB :: GLenum
pattern GL_SAMPLER_3D_ARB :: GLenum
pattern GL_SAMPLER_CUBE_ARB :: GLenum
pattern GL_SHADER_OBJECT_ARB :: GLenum

-- | This command is an alias for glAttachShader.
glAttachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()

-- | This command is an alias for glCompileShader.
glCompileShaderARB :: MonadIO m => GLhandleARB -> m ()

-- | This command is an alias for glCreateProgram.
glCreateProgramObjectARB :: MonadIO m => m GLhandleARB

-- | This command is an alias for glCreateShader.
glCreateShaderObjectARB :: MonadIO m => GLenum -> m GLhandleARB
glDeleteObjectARB :: MonadIO m => GLhandleARB -> m ()

-- | This command is an alias for glDetachShader.
glDetachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()

-- | This command is an alias for glGetActiveUniform.
glGetActiveUniformARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()
glGetAttachedObjectsARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> m ()
glGetHandleARB :: MonadIO m => GLenum -> m GLhandleARB
glGetInfoLogARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()
glGetObjectParameterfvARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLfloat -> m ()
glGetObjectParameterivARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetShaderSource.
glGetShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()

-- | This command is an alias for glGetUniformLocation.
glGetUniformLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint

-- | This command is an alias for glGetUniformfv.
glGetUniformfvARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLfloat -> m ()

-- | This command is an alias for glGetUniformiv.
glGetUniformivARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLint -> m ()

-- | This command is an alias for glLinkProgram.
glLinkProgramARB :: MonadIO m => GLhandleARB -> m ()

-- | This command is an alias for glShaderSource.
glShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m ()

-- | This command is an alias for glUniform1f.
glUniform1fARB :: MonadIO m => GLint -> GLfloat -> m ()

-- | This command is an alias for glUniform1fv.
glUniform1fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniform1i.
glUniform1iARB :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for glUniform1iv.
glUniform1ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glUniform2f.
glUniform2fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glUniform2fv.
glUniform2fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniform2i.
glUniform2iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glUniform2iv.
glUniform2ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glUniform3f.
glUniform3fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glUniform3fv.
glUniform3fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniform3i.
glUniform3iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glUniform3iv.
glUniform3ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glUniform4f.
glUniform4fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glUniform4fv.
glUniform4fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniform4i.
glUniform4iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glUniform4iv.
glUniform4ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for glUniformMatrix2fv.
glUniformMatrix2fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix3fv.
glUniformMatrix3fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUniformMatrix4fv.
glUniformMatrix4fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for glUseProgram.
glUseProgramObjectARB :: MonadIO m => GLhandleARB -> m ()

-- | This command is an alias for glValidateProgram.
glValidateProgramARB :: MonadIO m => GLhandleARB -> m ()

module Graphics.GL.ARB.ShaderImageLoadStore

-- | Is the ARB_shader_image_load_store extension supported?
glGetARBShaderImageLoadStore :: MonadIO m => m Bool

-- | Is the ARB_shader_image_load_store extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBShaderImageLoadStore in those
--   cases instead.
gl_ARB_shader_image_load_store :: Bool
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

module Graphics.GL.ARB.ShaderAtomicCounters

-- | Is the ARB_shader_atomic_counters extension supported?
glGetARBShaderAtomicCounters :: MonadIO m => m Bool

-- | Is the ARB_shader_atomic_counters extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBShaderAtomicCounters in those
--   cases instead.
gl_ARB_shader_atomic_counters :: Bool
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.ARB.SeparateShaderObjects

-- | Is the ARB_separate_shader_objects extension supported?
glGetARBSeparateShaderObjects :: MonadIO m => m Bool

-- | Is the ARB_separate_shader_objects extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBSeparateShaderObjects in those
--   cases instead.
gl_ARB_separate_shader_objects :: Bool
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SHADER_BIT :: GLbitfield

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

module Graphics.GL.ARB.SamplerObjects

-- | Is the ARB_sampler_objects extension supported?
glGetARBSamplerObjects :: MonadIO m => m Bool

-- | Is the ARB_sampler_objects extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBSamplerObjects in those cases
--   instead.
gl_ARB_sampler_objects :: Bool
pattern GL_SAMPLER_BINDING :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.ARB.SampleShading

-- | Is the ARB_sample_shading extension supported?
glGetARBSampleShading :: MonadIO m => m Bool

-- | Is the ARB_sample_shading extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBSampleShading in those cases instead.
gl_ARB_sample_shading :: Bool
pattern GL_MIN_SAMPLE_SHADING_VALUE_ARB :: GLenum
pattern GL_SAMPLE_SHADING_ARB :: GLenum

-- | This command is an alias for glMinSampleShading.
glMinSampleShadingARB :: MonadIO m => GLfloat -> m ()

module Graphics.GL.ARB.SampleLocations

-- | Is the ARB_sample_locations extension supported?
glGetARBSampleLocations :: MonadIO m => m Bool

-- | Is the ARB_sample_locations extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBSampleLocations in those cases
--   instead.
gl_ARB_sample_locations :: Bool
pattern GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB :: GLenum
pattern GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB :: GLenum
pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB :: GLenum
pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB :: GLenum
pattern GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB :: GLenum
glEvaluateDepthValuesARB :: MonadIO m => m ()
glFramebufferSampleLocationsfvARB :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedFramebufferSampleLocationsfvARB :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()

module Graphics.GL.ARB.RobustnessCore

-- | Is the ARB_robustness extension supported?
glGetARBRobustness :: MonadIO m => m Bool

-- | Is the ARB_robustness extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBRobustness in those cases instead.
gl_ARB_robustness :: Bool
pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB :: GLbitfield
pattern GL_GUILTY_CONTEXT_RESET_ARB :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET_ARB :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET_ARB :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NO_RESET_NOTIFICATION_ARB :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY_ARB :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET_ARB :: GLenum
glGetGraphicsResetStatusARB :: MonadIO m => m GLenum
glGetnCompressedTexImageARB :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()
glGetnTexImageARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnUniformdvARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glGetnUniformfvARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glGetnUniformivARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glGetnUniformuivARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glReadnPixels.
glReadnPixelsARB :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.ARB.RobustnessCompatibility

-- | Is the ARB_robustness extension supported?
glGetARBRobustness :: MonadIO m => m Bool

-- | Is the ARB_robustness extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBRobustness in those cases instead.
gl_ARB_robustness :: Bool
pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB :: GLbitfield
pattern GL_GUILTY_CONTEXT_RESET_ARB :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET_ARB :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET_ARB :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NO_RESET_NOTIFICATION_ARB :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY_ARB :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET_ARB :: GLenum
glGetGraphicsResetStatusARB :: MonadIO m => m GLenum
glGetnColorTableARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnCompressedTexImageARB :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()
glGetnConvolutionFilterARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnHistogramARB :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnMapdvARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
glGetnMapfvARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnMapivARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetnMinmaxARB :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnPixelMapfvARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnPixelMapuivARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glGetnPixelMapusvARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glGetnPolygonStippleARB :: MonadIO m => GLsizei -> Ptr GLubyte -> m ()
glGetnSeparableFilterARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> m ()
glGetnTexImageARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnUniformdvARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glGetnUniformfvARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glGetnUniformivARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glGetnUniformuivARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glReadnPixels.
glReadnPixelsARB :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.ARB.ProvokingVertex

-- | Is the ARB_provoking_vertex extension supported?
glGetARBProvokingVertex :: MonadIO m => m Bool

-- | Is the ARB_provoking_vertex extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBProvokingVertex in those cases
--   instead.
gl_ARB_provoking_vertex :: Bool
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

module Graphics.GL.ARB.ProgramInterfaceQuery

-- | Is the ARB_program_interface_query extension supported?
glGetARBProgramInterfaceQuery :: MonadIO m => m Bool

-- | Is the ARB_program_interface_query extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBProgramInterfaceQuery in those
--   cases instead.
gl_ARB_program_interface_query :: Bool
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TYPE :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

module Graphics.GL.ARB.PolygonOffsetClamp

-- | Is the ARB_polygon_offset_clamp extension supported?
glGetARBPolygonOffsetClamp :: MonadIO m => m Bool

-- | Is the ARB_polygon_offset_clamp extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBPolygonOffsetClamp in those cases
--   instead.
gl_ARB_polygon_offset_clamp :: Bool
pattern GL_POLYGON_OFFSET_CLAMP :: GLenum
glPolygonOffsetClamp :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

module Graphics.GL.ARB.PointParameters

-- | Is the ARB_point_parameters extension supported?
glGetARBPointParameters :: MonadIO m => m Bool

-- | Is the ARB_point_parameters extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBPointParameters in those cases
--   instead.
gl_ARB_point_parameters :: Bool
pattern GL_POINT_DISTANCE_ATTENUATION_ARB :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE_ARB :: GLenum
pattern GL_POINT_SIZE_MAX_ARB :: GLenum
pattern GL_POINT_SIZE_MIN_ARB :: GLenum

-- | This command is an alias for glPointParameterf.
glPointParameterfARB :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for glPointParameterfv.
glPointParameterfvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

module Graphics.GL.ARB.ParallelShaderCompile

-- | Is the ARB_parallel_shader_compile extension supported?
glGetARBParallelShaderCompile :: MonadIO m => m Bool

-- | Is the ARB_parallel_shader_compile extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBParallelShaderCompile in those
--   cases instead.
gl_ARB_parallel_shader_compile :: Bool
pattern GL_COMPLETION_STATUS_ARB :: GLenum
pattern GL_MAX_SHADER_COMPILER_THREADS_ARB :: GLenum

-- | This command is an alias for glMaxShaderCompilerThreadsKHR.
glMaxShaderCompilerThreadsARB :: MonadIO m => GLuint -> m ()

module Graphics.GL.ARB.OcclusionQuery

-- | Is the ARB_occlusion_query extension supported?
glGetARBOcclusionQuery :: MonadIO m => m Bool

-- | Is the ARB_occlusion_query extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBOcclusionQuery in those cases
--   instead.
gl_ARB_occlusion_query :: Bool
pattern GL_CURRENT_QUERY_ARB :: GLenum
pattern GL_QUERY_COUNTER_BITS_ARB :: GLenum
pattern GL_QUERY_RESULT_ARB :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE_ARB :: GLenum
pattern GL_SAMPLES_PASSED_ARB :: GLenum

-- | This command is an alias for glBeginQuery.
glBeginQueryARB :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for glDeleteQueries.
glDeleteQueriesARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glEndQuery.
glEndQueryARB :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glGenQueries.
glGenQueriesARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGetQueryObjectiv.
glGetQueryObjectivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glGetQueryObjectuiv.
glGetQueryObjectuivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for glGetQueryiv.
glGetQueryivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for glIsQuery.
glIsQueryARB :: MonadIO m => GLuint -> m GLboolean

module Graphics.GL.ARB.Multitexture

-- | Is the ARB_multitexture extension supported?
glGetARBMultitexture :: MonadIO m => m Bool

-- | Is the ARB_multitexture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBMultitexture in those cases instead.
gl_ARB_multitexture :: Bool
pattern GL_ACTIVE_TEXTURE_ARB :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE_ARB :: GLenum
pattern GL_MAX_TEXTURE_UNITS_ARB :: GLenum
pattern GL_TEXTURE0_ARB :: GLenum
pattern GL_TEXTURE10_ARB :: GLenum
pattern GL_TEXTURE11_ARB :: GLenum
pattern GL_TEXTURE12_ARB :: GLenum
pattern GL_TEXTURE13_ARB :: GLenum
pattern GL_TEXTURE14_ARB :: GLenum
pattern GL_TEXTURE15_ARB :: GLenum
pattern GL_TEXTURE16_ARB :: GLenum
pattern GL_TEXTURE17_ARB :: GLenum
pattern GL_TEXTURE18_ARB :: GLenum
pattern GL_TEXTURE19_ARB :: GLenum
pattern GL_TEXTURE1_ARB :: GLenum
pattern GL_TEXTURE20_ARB :: GLenum
pattern GL_TEXTURE21_ARB :: GLenum
pattern GL_TEXTURE22_ARB :: GLenum
pattern GL_TEXTURE23_ARB :: GLenum
pattern GL_TEXTURE24_ARB :: GLenum
pattern GL_TEXTURE25_ARB :: GLenum
pattern GL_TEXTURE26_ARB :: GLenum
pattern GL_TEXTURE27_ARB :: GLenum
pattern GL_TEXTURE28_ARB :: GLenum
pattern GL_TEXTURE29_ARB :: GLenum
pattern GL_TEXTURE2_ARB :: GLenum
pattern GL_TEXTURE30_ARB :: GLenum
pattern GL_TEXTURE31_ARB :: GLenum
pattern GL_TEXTURE3_ARB :: GLenum
pattern GL_TEXTURE4_ARB :: GLenum
pattern GL_TEXTURE5_ARB :: GLenum
pattern GL_TEXTURE6_ARB :: GLenum
pattern GL_TEXTURE7_ARB :: GLenum
pattern GL_TEXTURE8_ARB :: GLenum
pattern GL_TEXTURE9_ARB :: GLenum

-- | This command is an alias for glActiveTexture.
glActiveTextureARB :: MonadIO m => GLenum -> m ()

-- | This command is an alias for glClientActiveTexture.
glClientActiveTextureARB :: MonadIO m => GLenum -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1dv.
--   This command is an alias for glMultiTexCoord1d.
glMultiTexCoord1dARB :: MonadIO m => GLenum -> GLdouble -> m ()

-- | This command is an alias for glMultiTexCoord1dv.
glMultiTexCoord1dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1fv.
--   This command is an alias for glMultiTexCoord1f.
glMultiTexCoord1fARB :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for glMultiTexCoord1fv.
glMultiTexCoord1fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1iv.
--   This command is an alias for glMultiTexCoord1i.
glMultiTexCoord1iARB :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for glMultiTexCoord1iv.
glMultiTexCoord1ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord1sv.
--   This command is an alias for glMultiTexCoord1s.
glMultiTexCoord1sARB :: MonadIO m => GLenum -> GLshort -> m ()

-- | This command is an alias for glMultiTexCoord1sv.
glMultiTexCoord1svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2dv.
--   This command is an alias for glMultiTexCoord2d.
glMultiTexCoord2dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glMultiTexCoord2dv.
glMultiTexCoord2dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2fv.
--   This command is an alias for glMultiTexCoord2f.
glMultiTexCoord2fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glMultiTexCoord2fv.
glMultiTexCoord2fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2iv.
--   This command is an alias for glMultiTexCoord2i.
glMultiTexCoord2iARB :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | This command is an alias for glMultiTexCoord2iv.
glMultiTexCoord2ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord2sv.
--   This command is an alias for glMultiTexCoord2s.
glMultiTexCoord2sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | This command is an alias for glMultiTexCoord2sv.
glMultiTexCoord2svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3dv.
--   This command is an alias for glMultiTexCoord3d.
glMultiTexCoord3dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glMultiTexCoord3dv.
glMultiTexCoord3dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3fv.
--   This command is an alias for glMultiTexCoord3f.
glMultiTexCoord3fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glMultiTexCoord3fv.
glMultiTexCoord3fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3iv.
--   This command is an alias for glMultiTexCoord3i.
glMultiTexCoord3iARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glMultiTexCoord3iv.
glMultiTexCoord3ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord3sv.
--   This command is an alias for glMultiTexCoord3s.
glMultiTexCoord3sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glMultiTexCoord3sv.
glMultiTexCoord3svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4dv.
--   This command is an alias for glMultiTexCoord4d.
glMultiTexCoord4dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for glMultiTexCoord4dv.
glMultiTexCoord4dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4fv.
--   This command is an alias for glMultiTexCoord4f.
glMultiTexCoord4fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for glMultiTexCoord4fv.
glMultiTexCoord4fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4iv.
--   This command is an alias for glMultiTexCoord4i.
glMultiTexCoord4iARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for glMultiTexCoord4iv.
glMultiTexCoord4ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is glMultiTexCoord4sv.
--   This command is an alias for glMultiTexCoord4s.
glMultiTexCoord4sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for glMultiTexCoord4sv.
glMultiTexCoord4svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

module Graphics.GL.ARB.Multisample

-- | Is the ARB_multisample extension supported?
glGetARBMultisample :: MonadIO m => m Bool

-- | Is the ARB_multisample extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBMultisample in those cases instead.
gl_ARB_multisample :: Bool
pattern GL_MULTISAMPLE_ARB :: GLenum
pattern GL_MULTISAMPLE_BIT_ARB :: GLbitfield
pattern GL_SAMPLES_ARB :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE_ARB :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE_ARB :: GLenum
pattern GL_SAMPLE_BUFFERS_ARB :: GLenum
pattern GL_SAMPLE_COVERAGE_ARB :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT_ARB :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE_ARB :: GLenum

-- | This command is an alias for glSampleCoverage.
glSampleCoverageARB :: MonadIO m => GLfloat -> GLboolean -> m ()

module Graphics.GL.ARB.MultiDrawIndirect

-- | Is the ARB_multi_draw_indirect extension supported?
glGetARBMultiDrawIndirect :: MonadIO m => m Bool

-- | Is the ARB_multi_draw_indirect extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBMultiDrawIndirect in those cases
--   instead.
gl_ARB_multi_draw_indirect :: Bool

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

module Graphics.GL.ARB.MultiBind

-- | Is the ARB_multi_bind extension supported?
glGetARBMultiBind :: MonadIO m => m Bool

-- | Is the ARB_multi_bind extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBMultiBind in those cases instead.
gl_ARB_multi_bind :: Bool

-- | Manual page for OpenGL 4.x.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

module Graphics.GL.ARB.MatrixPalette

-- | Is the ARB_matrix_palette extension supported?
glGetARBMatrixPalette :: MonadIO m => m Bool

-- | Is the ARB_matrix_palette extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBMatrixPalette in those cases instead.
gl_ARB_matrix_palette :: Bool
pattern GL_CURRENT_MATRIX_INDEX_ARB :: GLenum
pattern GL_CURRENT_PALETTE_MATRIX_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_POINTER_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_SIZE_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_STRIDE_ARB :: GLenum
pattern GL_MATRIX_INDEX_ARRAY_TYPE_ARB :: GLenum
pattern GL_MATRIX_PALETTE_ARB :: GLenum
pattern GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB :: GLenum
pattern GL_MAX_PALETTE_MATRICES_ARB :: GLenum
glCurrentPaletteMatrixARB :: MonadIO m => GLint -> m ()
glMatrixIndexPointerARB :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glMatrixIndexubvARB :: MonadIO m => GLint -> Ptr GLubyte -> m ()
glMatrixIndexuivARB :: MonadIO m => GLint -> Ptr GLuint -> m ()
glMatrixIndexusvARB :: MonadIO m => GLint -> Ptr GLushort -> m ()

module Graphics.GL.ARB.MapBufferRange

-- | Is the ARB_map_buffer_range extension supported?
glGetARBMapBufferRange :: MonadIO m => m Bool

-- | Is the ARB_map_buffer_range extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBMapBufferRange in those cases
--   instead.
gl_ARB_map_buffer_range :: Bool
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

module Graphics.GL.ARB.InvalidateSubdata

-- | Is the ARB_invalidate_subdata extension supported?
glGetARBInvalidateSubdata :: MonadIO m => m Bool

-- | Is the ARB_invalidate_subdata extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBInvalidateSubdata in those cases
--   instead.
gl_ARB_invalidate_subdata :: Bool

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

module Graphics.GL.ARB.InternalformatQuery2

-- | Is the ARB_internalformat_query2 extension supported?
glGetARBInternalformatQuery2 :: MonadIO m => m Bool

-- | Is the ARB_internalformat_query2 extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBInternalformatQuery2 in those cases
--   instead.
gl_ARB_internalformat_query2 :: Bool
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SRGB_DECODE_ARB :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_ASTC_10x10_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_10x5_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_10x6_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_10x8_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_12x10_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_12x12_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_4x4_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_5x4_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_5x5_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_6x5_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_6x6_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_8x5_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_8x6_RGBA :: GLenum
pattern GL_VIEW_CLASS_ASTC_8x8_RGBA :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_EAC_R11 :: GLenum
pattern GL_VIEW_CLASS_EAC_RG11 :: GLenum
pattern GL_VIEW_CLASS_ETC2_EAC_RGBA :: GLenum
pattern GL_VIEW_CLASS_ETC2_RGB :: GLenum
pattern GL_VIEW_CLASS_ETC2_RGBA :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

module Graphics.GL.ARB.InternalformatQuery

-- | Is the ARB_internalformat_query extension supported?
glGetARBInternalformatQuery :: MonadIO m => m Bool

-- | Is the ARB_internalformat_query extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBInternalformatQuery in those cases
--   instead.
gl_ARB_internalformat_query :: Bool
pattern GL_NUM_SAMPLE_COUNTS :: GLenum

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

module Graphics.GL.ARB.InstancedArrays

-- | Is the ARB_instanced_arrays extension supported?
glGetARBInstancedArrays :: MonadIO m => m Bool

-- | Is the ARB_instanced_arrays extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBInstancedArrays in those cases
--   instead.
gl_ARB_instanced_arrays :: Bool
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB :: GLenum

-- | This command is an alias for glVertexAttribDivisor.
glVertexAttribDivisorARB :: MonadIO m => GLuint -> GLuint -> m ()

module Graphics.GL.ARB.IndirectParameters

-- | Is the ARB_indirect_parameters extension supported?
glGetARBIndirectParameters :: MonadIO m => m Bool

-- | Is the ARB_indirect_parameters extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBIndirectParameters in those cases
--   instead.
gl_ARB_indirect_parameters :: Bool
pattern GL_PARAMETER_BUFFER_ARB :: GLenum
pattern GL_PARAMETER_BUFFER_BINDING_ARB :: GLenum

-- | This command is an alias for glMultiDrawArraysIndirectCount.
glMultiDrawArraysIndirectCountARB :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glMultiDrawElementsIndirectCount.
glMultiDrawElementsIndirectCountARB :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

module Graphics.GL.ARB.ImagingCore

-- | Is the ARB_imaging extension supported?
glGetARBImaging :: MonadIO m => m Bool

-- | Is the ARB_imaging extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBImaging in those cases instead.
gl_ARB_imaging :: Bool
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MIN :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

module Graphics.GL.ARB.ImagingCompatibility

-- | Is the ARB_imaging extension supported?
glGetARBImaging :: MonadIO m => m Bool

-- | Is the ARB_imaging extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBImaging in those cases instead.
gl_ARB_imaging :: Bool
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_COLOR_MATRIX :: GLenum
pattern GL_COLOR_MATRIX_STACK_DEPTH :: GLenum
pattern GL_COLOR_TABLE :: GLenum
pattern GL_COLOR_TABLE_ALPHA_SIZE :: GLenum
pattern GL_COLOR_TABLE_BIAS :: GLenum
pattern GL_COLOR_TABLE_BLUE_SIZE :: GLenum
pattern GL_COLOR_TABLE_FORMAT :: GLenum
pattern GL_COLOR_TABLE_GREEN_SIZE :: GLenum
pattern GL_COLOR_TABLE_INTENSITY_SIZE :: GLenum
pattern GL_COLOR_TABLE_LUMINANCE_SIZE :: GLenum
pattern GL_COLOR_TABLE_RED_SIZE :: GLenum
pattern GL_COLOR_TABLE_SCALE :: GLenum
pattern GL_COLOR_TABLE_WIDTH :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_BORDER :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONVOLUTION_1D :: GLenum
pattern GL_CONVOLUTION_2D :: GLenum
pattern GL_CONVOLUTION_BORDER_COLOR :: GLenum
pattern GL_CONVOLUTION_BORDER_MODE :: GLenum
pattern GL_CONVOLUTION_FILTER_BIAS :: GLenum
pattern GL_CONVOLUTION_FILTER_SCALE :: GLenum
pattern GL_CONVOLUTION_FORMAT :: GLenum
pattern GL_CONVOLUTION_HEIGHT :: GLenum
pattern GL_CONVOLUTION_WIDTH :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_HISTOGRAM :: GLenum
pattern GL_HISTOGRAM_ALPHA_SIZE :: GLenum
pattern GL_HISTOGRAM_BLUE_SIZE :: GLenum
pattern GL_HISTOGRAM_FORMAT :: GLenum
pattern GL_HISTOGRAM_GREEN_SIZE :: GLenum
pattern GL_HISTOGRAM_LUMINANCE_SIZE :: GLenum
pattern GL_HISTOGRAM_RED_SIZE :: GLenum
pattern GL_HISTOGRAM_SINK :: GLenum
pattern GL_HISTOGRAM_WIDTH :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_COLOR_MATRIX_STACK_DEPTH :: GLenum
pattern GL_MAX_CONVOLUTION_HEIGHT :: GLenum
pattern GL_MAX_CONVOLUTION_WIDTH :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINMAX :: GLenum
pattern GL_MINMAX_FORMAT :: GLenum
pattern GL_MINMAX_SINK :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_POST_COLOR_MATRIX_ALPHA_BIAS :: GLenum
pattern GL_POST_COLOR_MATRIX_ALPHA_SCALE :: GLenum
pattern GL_POST_COLOR_MATRIX_BLUE_BIAS :: GLenum
pattern GL_POST_COLOR_MATRIX_BLUE_SCALE :: GLenum
pattern GL_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
pattern GL_POST_COLOR_MATRIX_GREEN_BIAS :: GLenum
pattern GL_POST_COLOR_MATRIX_GREEN_SCALE :: GLenum
pattern GL_POST_COLOR_MATRIX_RED_BIAS :: GLenum
pattern GL_POST_COLOR_MATRIX_RED_SCALE :: GLenum
pattern GL_POST_CONVOLUTION_ALPHA_BIAS :: GLenum
pattern GL_POST_CONVOLUTION_ALPHA_SCALE :: GLenum
pattern GL_POST_CONVOLUTION_BLUE_BIAS :: GLenum
pattern GL_POST_CONVOLUTION_BLUE_SCALE :: GLenum
pattern GL_POST_CONVOLUTION_COLOR_TABLE :: GLenum
pattern GL_POST_CONVOLUTION_GREEN_BIAS :: GLenum
pattern GL_POST_CONVOLUTION_GREEN_SCALE :: GLenum
pattern GL_POST_CONVOLUTION_RED_BIAS :: GLenum
pattern GL_POST_CONVOLUTION_RED_SCALE :: GLenum
pattern GL_PROXY_COLOR_TABLE :: GLenum
pattern GL_PROXY_HISTOGRAM :: GLenum
pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE :: GLenum
pattern GL_REDUCE :: GLenum
pattern GL_REPLICATE_BORDER :: GLenum
pattern GL_SEPARABLE_2D :: GLenum
pattern GL_TABLE_TOO_LARGE :: GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorSubTable :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glColorTable :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glColorTableParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColorTableParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionFilter1D :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionFilter2D :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glConvolutionParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glCopyColorSubTable :: MonadIO m => GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glCopyColorTable :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glCopyConvolutionFilter1D :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glCopyConvolutionFilter2D :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glGetColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetColorTableParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetColorTableParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetConvolutionFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetConvolutionParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetConvolutionParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetHistogram :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetHistogramParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetHistogramParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMinmax :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetMinmaxParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMinmaxParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetSeparableFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> m ()

-- | Manual page for OpenGL 2.x.
glHistogram :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glMinmax :: MonadIO m => GLenum -> GLenum -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glResetHistogram :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glResetMinmax :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glSeparableFilter2D :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> m ()

module Graphics.GL.ARB.GlSpirv

-- | Is the ARB_gl_spirv extension supported?
glGetARBGlSpirv :: MonadIO m => m Bool

-- | Is the ARB_gl_spirv extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBGlSpirv in those cases instead.
gl_ARB_gl_spirv :: Bool
pattern GL_SHADER_BINARY_FORMAT_SPIR_V_ARB :: GLenum
pattern GL_SPIR_V_BINARY_ARB :: GLenum

-- | This command is an alias for glSpecializeShader.
glSpecializeShaderARB :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

module Graphics.GL.ARB.GetTextureSubImage

-- | Is the ARB_get_texture_sub_image extension supported?
glGetARBGetTextureSubImage :: MonadIO m => m Bool

-- | Is the ARB_get_texture_sub_image extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBGetTextureSubImage in those cases
--   instead.
gl_ARB_get_texture_sub_image :: Bool

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.ARB.GetProgramBinary

-- | Is the ARB_get_program_binary extension supported?
glGetARBGetProgramBinary :: MonadIO m => m Bool

-- | Is the ARB_get_program_binary extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBGetProgramBinary in those cases
--   instead.
gl_ARB_get_program_binary :: Bool
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

module Graphics.GL.ARB.GeometryShader4

-- | Is the ARB_geometry_shader4 extension supported?
glGetARBGeometryShader4 :: MonadIO m => m Bool

-- | Is the ARB_geometry_shader4 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBGeometryShader4 in those cases
--   instead.
gl_ARB_geometry_shader4 :: Bool
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE_ARB :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE_ARB :: GLenum
pattern GL_GEOMETRY_SHADER_ARB :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT_ARB :: GLenum
pattern GL_LINES_ADJACENCY_ARB :: GLenum
pattern GL_LINE_STRIP_ADJACENCY_ARB :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB :: GLenum
pattern GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_VARYING_COMPONENTS_ARB :: GLenum
pattern GL_PROGRAM_POINT_SIZE_ARB :: GLenum
pattern GL_TRIANGLES_ADJACENCY_ARB :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY_ARB :: GLenum

-- | This command is an alias for glFramebufferTexture.
glFramebufferTextureARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTextureFaceARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()

-- | This command is an alias for glFramebufferTextureLayer.
glFramebufferTextureLayerARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for glProgramParameteri.
glProgramParameteriARB :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

module Graphics.GL.ARB.GPUShaderInt64

-- | Is the ARB_gpu_shader_int64 extension supported?
glGetARBGPUShaderInt64 :: MonadIO m => m Bool

-- | Is the ARB_gpu_shader_int64 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBGPUShaderInt64 in those cases
--   instead.
gl_ARB_gpu_shader_int64 :: Bool
pattern GL_INT64_ARB :: GLenum
pattern GL_INT64_VEC2_ARB :: GLenum
pattern GL_INT64_VEC3_ARB :: GLenum
pattern GL_INT64_VEC4_ARB :: GLenum
pattern GL_UNSIGNED_INT64_ARB :: GLenum
pattern GL_UNSIGNED_INT64_VEC2_ARB :: GLenum
pattern GL_UNSIGNED_INT64_VEC3_ARB :: GLenum
pattern GL_UNSIGNED_INT64_VEC4_ARB :: GLenum
glGetUniformi64vARB :: MonadIO m => GLuint -> GLint -> Ptr GLint64 -> m ()
glGetUniformui64vARB :: MonadIO m => GLuint -> GLint -> Ptr GLuint64 -> m ()
glGetnUniformi64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glGetnUniformui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform1i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> m ()
glProgramUniform1i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform1ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniform1ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform2i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> m ()
glProgramUniform2i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform2ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> m ()
glProgramUniform2ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform3i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> m ()
glProgramUniform3i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform3ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glProgramUniform3ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform4i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
glProgramUniform4i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform4ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glProgramUniform4ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform1i64ARB :: MonadIO m => GLint -> GLint64 -> m ()
glUniform1i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform1ui64ARB :: MonadIO m => GLint -> GLuint64 -> m ()
glUniform1ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform2i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> m ()
glUniform2i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform2ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> m ()
glUniform2ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform3i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> GLint64 -> m ()
glUniform3i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform3ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glUniform3ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform4i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
glUniform4i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform4ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glUniform4ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()

module Graphics.GL.ARB.GPUShaderFP64

-- | Is the ARB_gpu_shader_fp64 extension supported?
glGetARBGPUShaderFP64 :: MonadIO m => m Bool

-- | Is the ARB_gpu_shader_fp64 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBGPUShaderFP64 in those cases
--   instead.
gl_ARB_gpu_shader_fp64 :: Bool
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

module Graphics.GL.ARB.FramebufferObjectCore

-- | Is the ARB_framebuffer_object extension supported?
glGetARBFramebufferObject :: MonadIO m => m Bool

-- | Is the ARB_framebuffer_object extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBFramebufferObject in those cases
--   instead.
gl_ARB_framebuffer_object :: Bool
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

module Graphics.GL.ARB.FramebufferObjectCompatibility

-- | Is the ARB_framebuffer_object extension supported?
glGetARBFramebufferObject :: MonadIO m => m Bool

-- | Is the ARB_framebuffer_object extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBFramebufferObject in those cases
--   instead.
gl_ARB_framebuffer_object :: Bool
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

module Graphics.GL.ARB.FramebufferNoAttachments

-- | Is the ARB_framebuffer_no_attachments extension supported?
glGetARBFramebufferNoAttachments :: MonadIO m => m Bool

-- | Is the ARB_framebuffer_no_attachments extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBFramebufferNoAttachments in
--   those cases instead.
gl_ARB_framebuffer_no_attachments :: Bool
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

module Graphics.GL.ARB.FragmentProgram

-- | Is the ARB_fragment_program extension supported?
glGetARBFragmentProgram :: MonadIO m => m Bool

-- | Is the ARB_fragment_program extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBFragmentProgram in those cases
--   instead.
gl_ARB_fragment_program :: Bool
pattern GL_CURRENT_MATRIX_ARB :: GLenum
pattern GL_CURRENT_MATRIX_STACK_DEPTH_ARB :: GLenum
pattern GL_FRAGMENT_PROGRAM_ARB :: GLenum
pattern GL_MATRIX0_ARB :: GLenum
pattern GL_MATRIX10_ARB :: GLenum
pattern GL_MATRIX11_ARB :: GLenum
pattern GL_MATRIX12_ARB :: GLenum
pattern GL_MATRIX13_ARB :: GLenum
pattern GL_MATRIX14_ARB :: GLenum
pattern GL_MATRIX15_ARB :: GLenum
pattern GL_MATRIX16_ARB :: GLenum
pattern GL_MATRIX17_ARB :: GLenum
pattern GL_MATRIX18_ARB :: GLenum
pattern GL_MATRIX19_ARB :: GLenum
pattern GL_MATRIX1_ARB :: GLenum
pattern GL_MATRIX20_ARB :: GLenum
pattern GL_MATRIX21_ARB :: GLenum
pattern GL_MATRIX22_ARB :: GLenum
pattern GL_MATRIX23_ARB :: GLenum
pattern GL_MATRIX24_ARB :: GLenum
pattern GL_MATRIX25_ARB :: GLenum
pattern GL_MATRIX26_ARB :: GLenum
pattern GL_MATRIX27_ARB :: GLenum
pattern GL_MATRIX28_ARB :: GLenum
pattern GL_MATRIX29_ARB :: GLenum
pattern GL_MATRIX2_ARB :: GLenum
pattern GL_MATRIX30_ARB :: GLenum
pattern GL_MATRIX31_ARB :: GLenum
pattern GL_MATRIX3_ARB :: GLenum
pattern GL_MATRIX4_ARB :: GLenum
pattern GL_MATRIX5_ARB :: GLenum
pattern GL_MATRIX6_ARB :: GLenum
pattern GL_MATRIX7_ARB :: GLenum
pattern GL_MATRIX8_ARB :: GLenum
pattern GL_MATRIX9_ARB :: GLenum
pattern GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_ATTRIBS_ARB :: GLenum
pattern GL_MAX_PROGRAM_ENV_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_MATRICES_ARB :: GLenum
pattern GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_PARAMETERS_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEMPORARIES_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
pattern GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
pattern GL_MAX_TEXTURE_COORDS_ARB :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
pattern GL_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_ATTRIBS_ARB :: GLenum
pattern GL_PROGRAM_BINDING_ARB :: GLenum
pattern GL_PROGRAM_ERROR_POSITION_ARB :: GLenum
pattern GL_PROGRAM_ERROR_STRING_ARB :: GLenum
pattern GL_PROGRAM_FORMAT_ARB :: GLenum
pattern GL_PROGRAM_FORMAT_ASCII_ARB :: GLenum
pattern GL_PROGRAM_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_LENGTH_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
pattern GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_PARAMETERS_ARB :: GLenum
pattern GL_PROGRAM_STRING_ARB :: GLenum
pattern GL_PROGRAM_TEMPORARIES_ARB :: GLenum
pattern GL_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
pattern GL_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
pattern GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: GLenum
pattern GL_TRANSPOSE_CURRENT_MATRIX_ARB :: GLenum
glBindProgramARB :: MonadIO m => GLenum -> GLuint -> m ()
glDeleteProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetProgramEnvParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramEnvParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramLocalParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramLocalParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramStringARB :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()
glGetProgramivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glIsProgramARB :: MonadIO m => GLuint -> m GLboolean

-- | The vector equivalent of this command is
--   glProgramEnvParameter4dvARB.
glProgramEnvParameter4dARB :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramEnvParameter4dvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramEnvParameter4fvARB.
glProgramEnvParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramEnvParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameter4dvARB.
glProgramLocalParameter4dARB :: MonadIO m => GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramLocalParameter4dvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   glProgramLocalParameter4fvARB.
glProgramLocalParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramLocalParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glProgramStringARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.ARB.ES32Compatibility

-- | Is the ARB_ES3_2_compatibility extension supported?
glGetARBES32Compatibility :: MonadIO m => m Bool

-- | Is the ARB_ES3_2_compatibility extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBES32Compatibility in those cases
--   instead.
gl_ARB_ES3_2_compatibility :: Bool
pattern GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB :: GLenum
pattern GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB :: GLenum
pattern GL_PRIMITIVE_BOUNDING_BOX_ARB :: GLenum

-- | This command is an alias for glPrimitiveBoundingBox.
glPrimitiveBoundingBoxARB :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

module Graphics.GL.ARB.ES31Compatibility

-- | Is the ARB_ES3_1_compatibility extension supported?
glGetARBES31Compatibility :: MonadIO m => m Bool

-- | Is the ARB_ES3_1_compatibility extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBES31Compatibility in those cases
--   instead.
gl_ARB_ES3_1_compatibility :: Bool
pattern GL_BACK :: GLenum

-- | Manual page for OpenGL 4.x.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

module Graphics.GL.ARB.ES2Compatibility

-- | Is the ARB_ES2_compatibility extension supported?
glGetARBES2Compatibility :: MonadIO m => m Bool

-- | Is the ARB_ES2_compatibility extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBES2Compatibility in those cases
--   instead.
gl_ARB_ES2_compatibility :: Bool
pattern GL_FIXED :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

module Graphics.GL.ARB.DrawInstanced

-- | Is the ARB_draw_instanced extension supported?
glGetARBDrawInstanced :: MonadIO m => m Bool

-- | Is the ARB_draw_instanced extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBDrawInstanced in those cases instead.
gl_ARB_draw_instanced :: Bool

-- | This command is an alias for glDrawArraysInstanced.
glDrawArraysInstancedARB :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glDrawElementsInstanced.
glDrawElementsInstancedARB :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

module Graphics.GL.ARB.DrawIndirect

-- | Is the ARB_draw_indirect extension supported?
glGetARBDrawIndirect :: MonadIO m => m Bool

-- | Is the ARB_draw_indirect extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBDrawIndirect in those cases instead.
gl_ARB_draw_indirect :: Bool
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

module Graphics.GL.ARB.DrawElementsBaseVertex

-- | Is the ARB_draw_elements_base_vertex extension supported?
glGetARBDrawElementsBaseVertex :: MonadIO m => m Bool

-- | Is the ARB_draw_elements_base_vertex extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetARBDrawElementsBaseVertex in
--   those cases instead.
gl_ARB_draw_elements_base_vertex :: Bool

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

module Graphics.GL.ARB.DrawBuffersBlend

-- | Is the ARB_draw_buffers_blend extension supported?
glGetARBDrawBuffersBlend :: MonadIO m => m Bool

-- | Is the ARB_draw_buffers_blend extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBDrawBuffersBlend in those cases
--   instead.
gl_ARB_draw_buffers_blend :: Bool

-- | This command is an alias for glBlendEquationSeparatei.
glBlendEquationSeparateiARB :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendEquationi.
glBlendEquationiARB :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glBlendFuncSeparatei.
glBlendFuncSeparateiARB :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFunci.
glBlendFunciARB :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

module Graphics.GL.ARB.DrawBuffers

-- | Is the ARB_draw_buffers extension supported?
glGetARBDrawBuffers :: MonadIO m => m Bool

-- | Is the ARB_draw_buffers extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBDrawBuffers in those cases instead.
gl_ARB_draw_buffers :: Bool
pattern GL_DRAW_BUFFER0_ARB :: GLenum
pattern GL_DRAW_BUFFER10_ARB :: GLenum
pattern GL_DRAW_BUFFER11_ARB :: GLenum
pattern GL_DRAW_BUFFER12_ARB :: GLenum
pattern GL_DRAW_BUFFER13_ARB :: GLenum
pattern GL_DRAW_BUFFER14_ARB :: GLenum
pattern GL_DRAW_BUFFER15_ARB :: GLenum
pattern GL_DRAW_BUFFER1_ARB :: GLenum
pattern GL_DRAW_BUFFER2_ARB :: GLenum
pattern GL_DRAW_BUFFER3_ARB :: GLenum
pattern GL_DRAW_BUFFER4_ARB :: GLenum
pattern GL_DRAW_BUFFER5_ARB :: GLenum
pattern GL_DRAW_BUFFER6_ARB :: GLenum
pattern GL_DRAW_BUFFER7_ARB :: GLenum
pattern GL_DRAW_BUFFER8_ARB :: GLenum
pattern GL_DRAW_BUFFER9_ARB :: GLenum
pattern GL_MAX_DRAW_BUFFERS_ARB :: GLenum

-- | This command is an alias for glDrawBuffers.
glDrawBuffersARB :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

module Graphics.GL.ARB.DirectStateAccess

-- | Is the ARB_direct_state_access extension supported?
glGetARBDirectStateAccess :: MonadIO m => m Bool

-- | Is the ARB_direct_state_access extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBDirectStateAccess in those cases
--   instead.
gl_ARB_direct_state_access :: Bool
pattern GL_QUERY_TARGET :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_TARGET :: GLenum

-- | Manual page for OpenGL 4.x.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | Manual page for OpenGL 4.x.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetQueryBufferObjecti64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectui64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectuiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

module Graphics.GL.ARB.DebugOutput

-- | Is the ARB_debug_output extension supported?
glGetARBDebugOutput :: MonadIO m => m Bool

-- | Is the ARB_debug_output extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBDebugOutput in those cases instead.
gl_ARB_debug_output :: Bool
pattern GL_DEBUG_CALLBACK_FUNCTION_ARB :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM_ARB :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH_ARB :: GLenum
pattern GL_DEBUG_SEVERITY_LOW_ARB :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM_ARB :: GLenum
pattern GL_DEBUG_SOURCE_API_ARB :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION_ARB :: GLenum
pattern GL_DEBUG_SOURCE_OTHER_ARB :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER_ARB :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY_ARB :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB :: GLenum
pattern GL_DEBUG_TYPE_ERROR_ARB :: GLenum
pattern GL_DEBUG_TYPE_OTHER_ARB :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE_ARB :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY_ARB :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH_ARB :: GLenum

-- | This command is an alias for glDebugMessageCallback.
glDebugMessageCallbackARB :: MonadIO m => GLDEBUGPROCARB -> Ptr a -> m ()

-- | This command is an alias for glDebugMessageControl.
glDebugMessageControlARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | This command is an alias for glDebugMessageInsert.
glDebugMessageInsertARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for glGetDebugMessageLog.
glGetDebugMessageLogARB :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

module Graphics.GL.ARB.CopyImage

-- | Is the ARB_copy_image extension supported?
glGetARBCopyImage :: MonadIO m => m Bool

-- | Is the ARB_copy_image extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBCopyImage in those cases instead.
gl_ARB_copy_image :: Bool

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

module Graphics.GL.ARB.CopyBuffer

-- | Is the ARB_copy_buffer extension supported?
glGetARBCopyBuffer :: MonadIO m => m Bool

-- | Is the ARB_copy_buffer extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBCopyBuffer in those cases instead.
gl_ARB_copy_buffer :: Bool
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

module Graphics.GL.ARB.ComputeVariableGroupSize

-- | Is the ARB_compute_variable_group_size extension supported?
glGetARBComputeVariableGroupSize :: MonadIO m => m Bool

-- | Is the ARB_compute_variable_group_size extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetARBComputeVariableGroupSize in those cases instead.
gl_ARB_compute_variable_group_size :: Bool
pattern GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB :: GLenum
pattern GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB :: GLenum
pattern GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB :: GLenum
pattern GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB :: GLenum
glDispatchComputeGroupSizeARB :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

module Graphics.GL.ARB.ComputeShader

-- | Is the ARB_compute_shader extension supported?
glGetARBComputeShader :: MonadIO m => m Bool

-- | Is the ARB_compute_shader extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBComputeShader in those cases instead.
gl_ARB_compute_shader :: Bool
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

module Graphics.GL.ARB.ColorBufferFloat

-- | Is the ARB_color_buffer_float extension supported?
glGetARBColorBufferFloat :: MonadIO m => m Bool

-- | Is the ARB_color_buffer_float extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBColorBufferFloat in those cases
--   instead.
gl_ARB_color_buffer_float :: Bool
pattern GL_CLAMP_FRAGMENT_COLOR_ARB :: GLenum
pattern GL_CLAMP_READ_COLOR_ARB :: GLenum
pattern GL_CLAMP_VERTEX_COLOR_ARB :: GLenum
pattern GL_FIXED_ONLY_ARB :: GLenum
pattern GL_RGBA_FLOAT_MODE_ARB :: GLenum

-- | This command is an alias for glClampColor.
glClampColorARB :: MonadIO m => GLenum -> GLenum -> m ()

module Graphics.GL.ARB.ClipControl

-- | Is the ARB_clip_control extension supported?
glGetARBClipControl :: MonadIO m => m Bool

-- | Is the ARB_clip_control extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBClipControl in those cases instead.
gl_ARB_clip_control :: Bool
pattern GL_CLIP_DEPTH_MODE :: GLenum
pattern GL_CLIP_ORIGIN :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_NEGATIVE_ONE_TO_ONE :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_ZERO_TO_ONE :: GLenum

-- | Manual page for OpenGL 4.x.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

module Graphics.GL.ARB.ClearTexture

-- | Is the ARB_clear_texture extension supported?
glGetARBClearTexture :: MonadIO m => m Bool

-- | Is the ARB_clear_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBClearTexture in those cases instead.
gl_ARB_clear_texture :: Bool
pattern GL_CLEAR_TEXTURE :: GLenum

-- | Manual page for OpenGL 4.x.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

module Graphics.GL.ARB.ClearBufferObject

-- | Is the ARB_clear_buffer_object extension supported?
glGetARBClearBufferObject :: MonadIO m => m Bool

-- | Is the ARB_clear_buffer_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBClearBufferObject in those cases
--   instead.
gl_ARB_clear_buffer_object :: Bool

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

module Graphics.GL.ARB.CLEvent

-- | Is the ARB_cl_event extension supported?
glGetARBCLEvent :: MonadIO m => m Bool

-- | Is the ARB_cl_event extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBCLEvent in those cases instead.
gl_ARB_cl_event :: Bool
pattern GL_SYNC_CL_EVENT_ARB :: GLenum
pattern GL_SYNC_CL_EVENT_COMPLETE_ARB :: GLenum
glCreateSyncFromCLeventARB :: MonadIO m => Ptr a -> Ptr b -> GLbitfield -> m GLsync

module Graphics.GL.ARB.BufferStorage

-- | Is the ARB_buffer_storage extension supported?
glGetARBBufferStorage :: MonadIO m => m Bool

-- | Is the ARB_buffer_storage extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBBufferStorage in those cases instead.
gl_ARB_buffer_storage :: Bool
pattern GL_BUFFER_IMMUTABLE_STORAGE :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS :: GLenum
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT :: GLbitfield
pattern GL_DYNAMIC_STORAGE_BIT :: GLbitfield
pattern GL_MAP_COHERENT_BIT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield

-- | Manual page for OpenGL 4.x.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

module Graphics.GL.ARB.BlendFuncExtended

-- | Is the ARB_blend_func_extended extension supported?
glGetARBBlendFuncExtended :: MonadIO m => m Bool

-- | Is the ARB_blend_func_extended extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBBlendFuncExtended in those cases
--   instead.
gl_ARB_blend_func_extended :: Bool
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

module Graphics.GL.ARB.BindlessTexture

-- | Is the ARB_bindless_texture extension supported?
glGetARBBindlessTexture :: MonadIO m => m Bool

-- | Is the ARB_bindless_texture extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBBindlessTexture in those cases
--   instead.
gl_ARB_bindless_texture :: Bool
pattern GL_UNSIGNED_INT64_ARB :: GLenum
glGetImageHandleARB :: MonadIO m => GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
glGetTextureHandleARB :: MonadIO m => GLuint -> m GLuint64
glGetTextureSamplerHandleARB :: MonadIO m => GLuint -> GLuint -> m GLuint64
glGetVertexAttribLui64vARB :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glIsImageHandleResidentARB :: MonadIO m => GLuint64 -> m GLboolean
glIsTextureHandleResidentARB :: MonadIO m => GLuint64 -> m GLboolean
glMakeImageHandleNonResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeImageHandleResidentARB :: MonadIO m => GLuint64 -> GLenum -> m ()
glMakeTextureHandleNonResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleResidentARB :: MonadIO m => GLuint64 -> m ()
glProgramUniformHandleui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniformHandleui64ARB :: MonadIO m => GLint -> GLuint64 -> m ()
glUniformHandleui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glVertexAttribL1ui64ARB :: MonadIO m => GLuint -> GLuint64EXT -> m ()
glVertexAttribL1ui64vARB :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()

module Graphics.GL.ARB.BaseInstance

-- | Is the ARB_base_instance extension supported?
glGetARBBaseInstance :: MonadIO m => m Bool

-- | Is the ARB_base_instance extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetARBBaseInstance in those cases instead.
gl_ARB_base_instance :: Bool

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

module Graphics.GL.APPLE.VertexProgramEvaluators

-- | Is the APPLE_vertex_program_evaluators extension supported?
glGetAPPLEVertexProgramEvaluators :: MonadIO m => m Bool

-- | Is the APPLE_vertex_program_evaluators extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetAPPLEVertexProgramEvaluators in those cases instead.
gl_APPLE_vertex_program_evaluators :: Bool
pattern GL_VERTEX_ATTRIB_MAP1_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE :: GLenum
pattern GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE :: GLenum
glDisableVertexAttribAPPLE :: MonadIO m => GLuint -> GLenum -> m ()
glEnableVertexAttribAPPLE :: MonadIO m => GLuint -> GLenum -> m ()
glIsVertexAttribEnabledAPPLE :: MonadIO m => GLuint -> GLenum -> m GLboolean
glMapVertexAttrib1dAPPLE :: MonadIO m => GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
glMapVertexAttrib1fAPPLE :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glMapVertexAttrib2dAPPLE :: MonadIO m => GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()
glMapVertexAttrib2fAPPLE :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

module Graphics.GL.APPLE.VertexArrayRange

-- | Is the APPLE_vertex_array_range extension supported?
glGetAPPLEVertexArrayRange :: MonadIO m => m Bool

-- | Is the APPLE_vertex_array_range extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLEVertexArrayRange in those cases
--   instead.
gl_APPLE_vertex_array_range :: Bool
pattern GL_STORAGE_CACHED_APPLE :: GLenum
pattern GL_STORAGE_CLIENT_APPLE :: GLenum
pattern GL_STORAGE_SHARED_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_RANGE_POINTER_APPLE :: GLenum
pattern GL_VERTEX_ARRAY_STORAGE_HINT_APPLE :: GLenum
glFlushVertexArrayRangeAPPLE :: MonadIO m => GLsizei -> Ptr a -> m ()
glVertexArrayParameteriAPPLE :: MonadIO m => GLenum -> GLint -> m ()
glVertexArrayRangeAPPLE :: MonadIO m => GLsizei -> Ptr a -> m ()

module Graphics.GL.APPLE.VertexArrayObject

-- | Is the APPLE_vertex_array_object extension supported?
glGetAPPLEVertexArrayObject :: MonadIO m => m Bool

-- | Is the APPLE_vertex_array_object extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLEVertexArrayObject in those cases
--   instead.
gl_APPLE_vertex_array_object :: Bool
pattern GL_VERTEX_ARRAY_BINDING_APPLE :: GLenum
glBindVertexArrayAPPLE :: MonadIO m => GLuint -> m ()

-- | This command is an alias for glDeleteVertexArrays.
glDeleteVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glGenVertexArrays.
glGenVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for glIsVertexArray.
glIsVertexArrayAPPLE :: MonadIO m => GLuint -> m GLboolean

module Graphics.GL.APPLE.TextureRange

-- | Is the APPLE_texture_range extension supported?
glGetAPPLETextureRange :: MonadIO m => m Bool

-- | Is the APPLE_texture_range extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLETextureRange in those cases
--   instead.
gl_APPLE_texture_range :: Bool
pattern GL_STORAGE_CACHED_APPLE :: GLenum
pattern GL_STORAGE_PRIVATE_APPLE :: GLenum
pattern GL_STORAGE_SHARED_APPLE :: GLenum
pattern GL_TEXTURE_RANGE_LENGTH_APPLE :: GLenum
pattern GL_TEXTURE_RANGE_POINTER_APPLE :: GLenum
pattern GL_TEXTURE_STORAGE_HINT_APPLE :: GLenum
glGetTexParameterPointervAPPLE :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()
glTextureRangeAPPLE :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

module Graphics.GL.APPLE.ObjectPurgeable

-- | Is the APPLE_object_purgeable extension supported?
glGetAPPLEObjectPurgeable :: MonadIO m => m Bool

-- | Is the APPLE_object_purgeable extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLEObjectPurgeable in those cases
--   instead.
gl_APPLE_object_purgeable :: Bool
pattern GL_BUFFER_OBJECT_APPLE :: GLenum
pattern GL_PURGEABLE_APPLE :: GLenum
pattern GL_RELEASED_APPLE :: GLenum
pattern GL_RETAINED_APPLE :: GLenum
pattern GL_UNDEFINED_APPLE :: GLenum
pattern GL_VOLATILE_APPLE :: GLenum
glGetObjectParameterivAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
glObjectPurgeableAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> m GLenum
glObjectUnpurgeableAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> m GLenum

module Graphics.GL.APPLE.FlushBufferRange

-- | Is the APPLE_flush_buffer_range extension supported?
glGetAPPLEFlushBufferRange :: MonadIO m => m Bool

-- | Is the APPLE_flush_buffer_range extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLEFlushBufferRange in those cases
--   instead.
gl_APPLE_flush_buffer_range :: Bool
pattern GL_BUFFER_FLUSHING_UNMAP_APPLE :: GLenum
pattern GL_BUFFER_SERIALIZED_MODIFY_APPLE :: GLenum
glBufferParameteriAPPLE :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | This command is an alias for glFlushMappedBufferRange.
glFlushMappedBufferRangeAPPLE :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

module Graphics.GL.APPLE.Fence

-- | Is the APPLE_fence extension supported?
glGetAPPLEFence :: MonadIO m => m Bool

-- | Is the APPLE_fence extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetAPPLEFence in those cases instead.
gl_APPLE_fence :: Bool
pattern GL_DRAW_PIXELS_APPLE :: GLenum
pattern GL_FENCE_APPLE :: GLenum
glDeleteFencesAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glFinishFenceAPPLE :: MonadIO m => GLuint -> m ()
glFinishObjectAPPLE :: MonadIO m => GLenum -> GLint -> m ()
glGenFencesAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glIsFenceAPPLE :: MonadIO m => GLuint -> m GLboolean
glSetFenceAPPLE :: MonadIO m => GLuint -> m ()
glTestFenceAPPLE :: MonadIO m => GLuint -> m GLboolean
glTestObjectAPPLE :: MonadIO m => GLenum -> GLuint -> m GLboolean

module Graphics.GL.APPLE.ElementArray

-- | Is the APPLE_element_array extension supported?
glGetAPPLEElementArray :: MonadIO m => m Bool

-- | Is the APPLE_element_array extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAPPLEElementArray in those cases
--   instead.
gl_APPLE_element_array :: Bool
pattern GL_ELEMENT_ARRAY_APPLE :: GLenum
pattern GL_ELEMENT_ARRAY_POINTER_APPLE :: GLenum
pattern GL_ELEMENT_ARRAY_TYPE_APPLE :: GLenum
glDrawElementArrayAPPLE :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glDrawRangeElementArrayAPPLE :: MonadIO m => GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> m ()
glElementPointerAPPLE :: MonadIO m => GLenum -> Ptr a -> m ()
glMultiDrawElementArrayAPPLE :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
glMultiDrawRangeElementArrayAPPLE :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | A convenience module, combining all raw modules containing APPLE
--   extensions.
module Graphics.GL.APPLE

module Graphics.GL.AMD.VertexShaderTessellator

-- | Is the AMD_vertex_shader_tessellator extension supported?
glGetAMDVertexShaderTessellator :: MonadIO m => m Bool

-- | Is the AMD_vertex_shader_tessellator extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetAMDVertexShaderTessellator in
--   those cases instead.
gl_AMD_vertex_shader_tessellator :: Bool
pattern GL_CONTINUOUS_AMD :: GLenum
pattern GL_DISCRETE_AMD :: GLenum
pattern GL_INT_SAMPLER_BUFFER_AMD :: GLenum
pattern GL_SAMPLER_BUFFER_AMD :: GLenum
pattern GL_TESSELLATION_FACTOR_AMD :: GLenum
pattern GL_TESSELLATION_MODE_AMD :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD :: GLenum
glTessellationFactorAMD :: MonadIO m => GLfloat -> m ()
glTessellationModeAMD :: MonadIO m => GLenum -> m ()

module Graphics.GL.AMD.StencilOperationExtended

-- | Is the AMD_stencil_operation_extended extension supported?
glGetAMDStencilOperationExtended :: MonadIO m => m Bool

-- | Is the AMD_stencil_operation_extended extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use glGetAMDStencilOperationExtended in
--   those cases instead.
gl_AMD_stencil_operation_extended :: Bool
pattern GL_REPLACE_VALUE_AMD :: GLenum
pattern GL_SET_AMD :: GLenum
pattern GL_STENCIL_BACK_OP_VALUE_AMD :: GLenum
pattern GL_STENCIL_OP_VALUE_AMD :: GLenum
glStencilOpValueAMD :: MonadIO m => GLenum -> GLuint -> m ()

module Graphics.GL.AMD.SparseTexture

-- | Is the AMD_sparse_texture extension supported?
glGetAMDSparseTexture :: MonadIO m => m Bool

-- | Is the AMD_sparse_texture extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetAMDSparseTexture in those cases instead.
gl_AMD_sparse_texture :: Bool
pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD :: GLenum
pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_SPARSE_TEXTURE_SIZE_AMD :: GLenum
pattern GL_MIN_LOD_WARNING_AMD :: GLenum
pattern GL_MIN_SPARSE_LEVEL_AMD :: GLenum
pattern GL_TEXTURE_STORAGE_SPARSE_BIT_AMD :: GLbitfield
pattern GL_VIRTUAL_PAGE_SIZE_X_AMD :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Y_AMD :: GLenum
pattern GL_VIRTUAL_PAGE_SIZE_Z_AMD :: GLenum
glTexStorageSparseAMD :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()
glTextureStorageSparseAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()

module Graphics.GL.AMD.SamplePositions

-- | Is the AMD_sample_positions extension supported?
glGetAMDSamplePositions :: MonadIO m => m Bool

-- | Is the AMD_sample_positions extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDSamplePositions in those cases
--   instead.
gl_AMD_sample_positions :: Bool
pattern GL_SUBSAMPLE_DISTANCE_AMD :: GLenum
glSetMultisamplefvAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

module Graphics.GL.AMD.PerformanceMonitor

-- | Is the AMD_performance_monitor extension supported?
glGetAMDPerformanceMonitor :: MonadIO m => m Bool

-- | Is the AMD_performance_monitor extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDPerformanceMonitor in those cases
--   instead.
gl_AMD_performance_monitor :: Bool
pattern GL_COUNTER_RANGE_AMD :: GLenum
pattern GL_COUNTER_TYPE_AMD :: GLenum
pattern GL_PERCENTAGE_AMD :: GLenum
pattern GL_PERFMON_RESULT_AMD :: GLenum
pattern GL_PERFMON_RESULT_AVAILABLE_AMD :: GLenum
pattern GL_PERFMON_RESULT_SIZE_AMD :: GLenum
pattern GL_UNSIGNED_INT64_AMD :: GLenum
glBeginPerfMonitorAMD :: MonadIO m => GLuint -> m ()
glDeletePerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glEndPerfMonitorAMD :: MonadIO m => GLuint -> m ()
glGenPerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGetPerfMonitorCounterDataAMD :: MonadIO m => GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> m ()
glGetPerfMonitorCounterInfoAMD :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr a -> m ()
glGetPerfMonitorCounterStringAMD :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetPerfMonitorCountersAMD :: MonadIO m => GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
glGetPerfMonitorGroupStringAMD :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetPerfMonitorGroupsAMD :: MonadIO m => Ptr GLint -> GLsizei -> Ptr GLuint -> m ()
glSelectPerfMonitorCountersAMD :: MonadIO m => GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> m ()

module Graphics.GL.AMD.OcclusionQueryEvent

-- | Is the AMD_occlusion_query_event extension supported?
glGetAMDOcclusionQueryEvent :: MonadIO m => m Bool

-- | Is the AMD_occlusion_query_event extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDOcclusionQueryEvent in those cases
--   instead.
gl_AMD_occlusion_query_event :: Bool
pattern GL_OCCLUSION_QUERY_EVENT_MASK_AMD :: GLenum
pattern GL_QUERY_ALL_EVENT_BITS_AMD :: GLbitfield
pattern GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD :: GLbitfield
pattern GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD :: GLbitfield
pattern GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD :: GLbitfield
pattern GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD :: GLbitfield
glQueryObjectParameteruiAMD :: MonadIO m => GLenum -> GLuint -> GLenum -> GLuint -> m ()

module Graphics.GL.AMD.NameGenDelete

-- | Is the AMD_name_gen_delete extension supported?
glGetAMDNameGenDelete :: MonadIO m => m Bool

-- | Is the AMD_name_gen_delete extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDNameGenDelete in those cases
--   instead.
gl_AMD_name_gen_delete :: Bool
pattern GL_DATA_BUFFER_AMD :: GLenum
pattern GL_PERFORMANCE_MONITOR_AMD :: GLenum
pattern GL_QUERY_OBJECT_AMD :: GLenum
pattern GL_SAMPLER_OBJECT_AMD :: GLenum
pattern GL_VERTEX_ARRAY_OBJECT_AMD :: GLenum
glDeleteNamesAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGenNamesAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glIsNameAMD :: MonadIO m => GLenum -> GLuint -> m GLboolean

module Graphics.GL.AMD.MultiDrawIndirect

-- | Is the AMD_multi_draw_indirect extension supported?
glGetAMDMultiDrawIndirect :: MonadIO m => m Bool

-- | Is the AMD_multi_draw_indirect extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDMultiDrawIndirect in those cases
--   instead.
gl_AMD_multi_draw_indirect :: Bool

-- | This command is an alias for glMultiDrawArraysIndirect.
glMultiDrawArraysIndirectAMD :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for glMultiDrawElementsIndirect.
glMultiDrawElementsIndirectAMD :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

module Graphics.GL.AMD.InterleavedElements

-- | Is the AMD_interleaved_elements extension supported?
glGetAMDInterleavedElements :: MonadIO m => m Bool

-- | Is the AMD_interleaved_elements extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDInterleavedElements in those cases
--   instead.
gl_AMD_interleaved_elements :: Bool
pattern GL_ALPHA :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_RED :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_VERTEX_ELEMENT_SWIZZLE_AMD :: GLenum
pattern GL_VERTEX_ID_SWIZZLE_AMD :: GLenum
glVertexAttribParameteriAMD :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

module Graphics.GL.AMD.GPUShaderInt64

-- | Is the AMD_gpu_shader_int64 extension supported?
glGetAMDGPUShaderInt64 :: MonadIO m => m Bool

-- | Is the AMD_gpu_shader_int64 extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDGPUShaderInt64 in those cases
--   instead.
gl_AMD_gpu_shader_int64 :: Bool
pattern GL_FLOAT16_NV :: GLenum
pattern GL_FLOAT16_VEC2_NV :: GLenum
pattern GL_FLOAT16_VEC3_NV :: GLenum
pattern GL_FLOAT16_VEC4_NV :: GLenum
pattern GL_INT16_NV :: GLenum
pattern GL_INT16_VEC2_NV :: GLenum
pattern GL_INT16_VEC3_NV :: GLenum
pattern GL_INT16_VEC4_NV :: GLenum
pattern GL_INT64_NV :: GLenum
pattern GL_INT64_VEC2_NV :: GLenum
pattern GL_INT64_VEC3_NV :: GLenum
pattern GL_INT64_VEC4_NV :: GLenum
pattern GL_INT8_NV :: GLenum
pattern GL_INT8_VEC2_NV :: GLenum
pattern GL_INT8_VEC3_NV :: GLenum
pattern GL_INT8_VEC4_NV :: GLenum
pattern GL_UNSIGNED_INT16_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT16_VEC4_NV :: GLenum
pattern GL_UNSIGNED_INT64_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT64_VEC4_NV :: GLenum
pattern GL_UNSIGNED_INT8_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC2_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC3_NV :: GLenum
pattern GL_UNSIGNED_INT8_VEC4_NV :: GLenum
glGetUniformi64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLint64EXT -> m ()
glGetUniformui64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLuint64EXT -> m ()
glProgramUniform1i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> m ()
glProgramUniform1i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform1ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniform1ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform2i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform2i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform2ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform2ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform3i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform3i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform3ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform3ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramUniform4i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform4i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glProgramUniform4ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform4ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform1i64NV :: MonadIO m => GLint -> GLint64EXT -> m ()
glUniform1i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform1ui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniform1ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform2i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> m ()
glUniform2i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform2ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform2ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform3i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform3i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform3ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform3ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUniform4i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform4i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()
glUniform4ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform4ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

module Graphics.GL.AMD.FramebufferSamplePositions

-- | Is the AMD_framebuffer_sample_positions extension supported?
glGetAMDFramebufferSamplePositions :: MonadIO m => m Bool

-- | Is the AMD_framebuffer_sample_positions extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   glGetAMDFramebufferSamplePositions in those cases instead.
gl_AMD_framebuffer_sample_positions :: Bool
pattern GL_ALL_PIXELS_AMD :: GLenum
pattern GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD :: GLenum
pattern GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD :: GLenum
pattern GL_SUBSAMPLE_DISTANCE_AMD :: GLenum
glFramebufferSamplePositionsfvAMD :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLfloat -> m ()
glGetFramebufferParameterfvAMD :: MonadIO m => GLenum -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glGetNamedFramebufferParameterfvAMD :: MonadIO m => GLuint -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedFramebufferSamplePositionsfvAMD :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()

module Graphics.GL.AMD.FramebufferMultisampleAdvanced

-- | Is the AMD_framebuffer_multisample_advanced extension
--   supported?
glGetAMDFramebufferMultisampleAdvanced :: MonadIO m => m Bool

-- | Is the AMD_framebuffer_multisample_advanced extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   glGetAMDFramebufferMultisampleAdvanced in those cases instead.
gl_AMD_framebuffer_multisample_advanced :: Bool
pattern GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD :: GLenum
pattern GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD :: GLenum
pattern GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD :: GLenum
pattern GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD :: GLenum
pattern GL_RENDERBUFFER_STORAGE_SAMPLES_AMD :: GLenum
pattern GL_SUPPORTED_MULTISAMPLE_MODES_AMD :: GLenum
glNamedRenderbufferStorageMultisampleAdvancedAMD :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleAdvancedAMD :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

module Graphics.GL.AMD.DrawBuffersBlend

-- | Is the AMD_draw_buffers_blend extension supported?
glGetAMDDrawBuffersBlend :: MonadIO m => m Bool

-- | Is the AMD_draw_buffers_blend extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetAMDDrawBuffersBlend in those cases
--   instead.
gl_AMD_draw_buffers_blend :: Bool

-- | This command is an alias for glBlendEquationi.
glBlendEquationIndexedAMD :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for glBlendEquationSeparatei.
glBlendEquationSeparateIndexedAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFunci.
glBlendFuncIndexedAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | This command is an alias for glBlendFuncSeparatei.
glBlendFuncSeparateIndexedAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

module Graphics.GL.AMD.DebugOutput

-- | Is the AMD_debug_output extension supported?
glGetAMDDebugOutput :: MonadIO m => m Bool

-- | Is the AMD_debug_output extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetAMDDebugOutput in those cases instead.
gl_AMD_debug_output :: Bool
pattern GL_DEBUG_CATEGORY_API_ERROR_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_APPLICATION_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_DEPRECATION_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_OTHER_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_PERFORMANCE_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD :: GLenum
pattern GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH_AMD :: GLenum
pattern GL_DEBUG_SEVERITY_LOW_AMD :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM_AMD :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH_AMD :: GLenum
glDebugMessageCallbackAMD :: MonadIO m => GLDEBUGPROCAMD -> Ptr a -> m ()
glDebugMessageEnableAMD :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()
glDebugMessageInsertAMD :: MonadIO m => GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
glGetDebugMessageLogAMD :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | A convenience module, combining all raw modules containing AMD
--   extensions.
module Graphics.GL.AMD

module Graphics.GL.EXT.EglImageStorage

-- | Is the EXT_EGL_image_storage extension supported?
glGetEXTEglImageStorage :: MonadIO m => m Bool

-- | Is the EXT_EGL_image_storage extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetEXTEglImageStorage in those cases
--   instead.
gl_EXT_EGL_image_storage :: Bool
type GLeglImageOES = Ptr ()
glEGLImageTargetTexStorageEXT :: MonadIO m => GLenum -> GLeglImageOES -> Ptr GLint -> m ()
glEGLImageTargetTextureStorageEXT :: MonadIO m => GLuint -> GLeglImageOES -> Ptr GLint -> m ()

-- | A convenience module, combining all raw modules containing EXT
--   extensions.
module Graphics.GL.EXT

module Graphics.GL.Core46

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_IMMUTABLE_STORAGE :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLEAR_TEXTURE :: GLenum
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT :: GLbitfield
pattern GL_CLIPPING_INPUT_PRIMITIVES :: GLenum
pattern GL_CLIPPING_OUTPUT_PRIMITIVES :: GLenum
pattern GL_CLIP_DEPTH_MODE :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_ORIGIN :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SHADER_INVOCATIONS :: GLenum
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_NO_ERROR_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: GLbitfield
pattern GL_CONTEXT_LOST :: GLenum
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_DYNAMIC_STORAGE_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SHADER_INVOCATIONS :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GUILTY_CONTEXT_RESET :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_COMPONENT :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP_COHERENT_BIT :: GLbitfield
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_CULL_DISTANCES :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_MAX_ANISOTROPY :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEGATIVE_ONE_TO_ONE :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NO_RESET_NOTIFICATION :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_NUM_SPIR_V_EXTENSIONS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PARAMETER_BUFFER :: GLenum
pattern GL_PARAMETER_BUFFER_BINDING :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_CLAMP :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVES_SUBMITTED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_QUERY_BUFFER :: GLenum
pattern GL_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_QUERY_BUFFER_BINDING :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT :: GLenum
pattern GL_QUERY_TARGET :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_QUERY_WAIT_INVERTED :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_BINARY_FORMAT_SPIR_V :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SPIR_V_BINARY :: GLenum
pattern GL_SPIR_V_EXTENSIONS :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SHADER_PATCHES :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_ANISOTROPY :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_TARGET :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_OVERFLOW :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SHADER_INVOCATIONS :: GLenum
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VERTICES_SUBMITTED :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZERO_TO_ONE :: GLenum

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual page for OpenGL 4.x.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 4.x.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual page for OpenGL 4.x.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetQueryBufferObjecti64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectui64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectuiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetnCompressedTexImage :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawArraysIndirectCount :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawElementsIndirectCount :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()
glPolygonOffsetClamp :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glSpecializeShader :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBarrier :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 4.x.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core45

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_IMMUTABLE_STORAGE :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLEAR_TEXTURE :: GLenum
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT :: GLbitfield
pattern GL_CLIP_DEPTH_MODE :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_ORIGIN :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: GLbitfield
pattern GL_CONTEXT_LOST :: GLenum
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_DYNAMIC_STORAGE_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GUILTY_CONTEXT_RESET :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_COMPONENT :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP_COHERENT_BIT :: GLbitfield
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_CULL_DISTANCES :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEGATIVE_ONE_TO_ONE :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NO_RESET_NOTIFICATION :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_QUERY_BUFFER :: GLenum
pattern GL_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_QUERY_BUFFER_BINDING :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT :: GLenum
pattern GL_QUERY_TARGET :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_QUERY_WAIT_INVERTED :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_TARGET :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZERO_TO_ONE :: GLenum

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual page for OpenGL 4.x.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 4.x.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual page for OpenGL 4.x.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetQueryBufferObjecti64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectui64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectuiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetnCompressedTexImage :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBarrier :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 4.x.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core44

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_IMMUTABLE_STORAGE :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLEAR_TEXTURE :: GLenum
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_DYNAMIC_STORAGE_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_COMPONENT :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP_COHERENT_BIT :: GLbitfield
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_QUERY_BUFFER :: GLenum
pattern GL_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_QUERY_BUFFER_BINDING :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core43

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core42

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core41

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core40

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core33

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core32

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALPHA :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

module Graphics.GL.Core31

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Core30

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility46

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_IMMUTABLE_STORAGE :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLEAR_TEXTURE :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIPPING_INPUT_PRIMITIVES :: GLenum
pattern GL_CLIPPING_OUTPUT_PRIMITIVES :: GLenum
pattern GL_CLIP_DEPTH_MODE :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_ORIGIN :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SHADER_INVOCATIONS :: GLenum
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_NO_ERROR_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: GLbitfield
pattern GL_CONTEXT_LOST :: GLenum
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DISPLAY_LIST :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_DYNAMIC_STORAGE_BIT :: GLbitfield
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SHADER_INVOCATIONS :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_GUILTY_CONTEXT_RESET :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_COMPONENT :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COHERENT_BIT :: GLbitfield
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_CULL_DISTANCES :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_MAX_ANISOTROPY :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEGATIVE_ONE_TO_ONE :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NO_RESET_NOTIFICATION :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_NUM_SPIR_V_EXTENSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PARAMETER_BUFFER :: GLenum
pattern GL_PARAMETER_BUFFER_BINDING :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_CLAMP :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVES_SUBMITTED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_QUERY_BUFFER :: GLenum
pattern GL_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_QUERY_BUFFER_BINDING :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT :: GLenum
pattern GL_QUERY_TARGET :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_QUERY_WAIT_INVERTED :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_BINARY_FORMAT_SPIR_V :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPIR_V_BINARY :: GLenum
pattern GL_SPIR_V_EXTENSIONS :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SHADER_PATCHES :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_ANISOTROPY :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_TARGET :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_OVERFLOW :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SHADER_INVOCATIONS :: GLenum
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VERTICES_SUBMITTED :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZERO_TO_ONE :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual page for OpenGL 4.x.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 4.x.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual page for OpenGL 4.x.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetQueryBufferObjecti64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectui64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectuiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetnColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnCompressedTexImage :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()
glGetnConvolutionFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnHistogram :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnMapdv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
glGetnMapfv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnMapiv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetnMinmax :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glGetnPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glGetnPolygonStipple :: MonadIO m => GLsizei -> Ptr GLubyte -> m ()
glGetnSeparableFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> m ()

-- | Manual page for OpenGL 4.x.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawArraysIndirectCount :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawElementsIndirectCount :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()
glPolygonOffsetClamp :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glSpecializeShader :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBarrier :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 4.x.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility45

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_IMMUTABLE_STORAGE :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLEAR_TEXTURE :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DEPTH_MODE :: GLenum
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_ORIGIN :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: GLbitfield
pattern GL_CONTEXT_LOST :: GLenum
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR :: GLenum
pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DISPLAY_LIST :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_DYNAMIC_STORAGE_BIT :: GLbitfield
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_GUILTY_CONTEXT_RESET :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INNOCENT_CONTEXT_RESET :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_COMPONENT :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOSE_CONTEXT_ON_RESET :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COHERENT_BIT :: GLbitfield
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_CULL_DISTANCES :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEGATIVE_ONE_TO_ONE :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NO_RESET_NOTIFICATION :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_QUERY_BUFFER :: GLenum
pattern GL_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_QUERY_BUFFER_BINDING :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_NO_WAIT_INVERTED :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT :: GLenum
pattern GL_QUERY_TARGET :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_QUERY_WAIT_INVERTED :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RESET_NOTIFICATION_STRATEGY :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_TARGET :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNKNOWN_CONTEXT_RESET :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZERO_TO_ONE :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual page for OpenGL 4.x.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 4.x.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual page for OpenGL 4.x.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetQueryBufferObjecti64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectui64v :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()
glGetQueryBufferObjectuiv :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptr -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetnColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnCompressedTexImage :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()
glGetnConvolutionFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnHistogram :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnMapdv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
glGetnMapfv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnMapiv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetnMinmax :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glGetnPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glGetnPolygonStipple :: MonadIO m => GLsizei -> Ptr GLubyte -> m ()
glGetnSeparableFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> m ()

-- | Manual page for OpenGL 4.x.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 4.x.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBarrier :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 4.x.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility44

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_IMMUTABLE_STORAGE :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_STORAGE_FLAGS :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLEAR_TEXTURE :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_STORAGE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DISPLAY_LIST :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_DYNAMIC_STORAGE_BIT :: GLbitfield
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_COMPONENT :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COHERENT_BIT :: GLbitfield
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_PERSISTENT_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MIRROR_CLAMP_TO_EDGE :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_QUERY_BUFFER :: GLenum
pattern GL_QUERY_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_QUERY_BUFFER_BINDING :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_RESULT_NO_WAIT :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility43

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()

-- | The storage associated with the resulting FunPtr has to be
--   released with freeHaskellFunPtr when it is no longer required.
makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_RESOURCES :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_VARIABLES :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ARRAY_SIZE :: GLenum
pattern GL_ARRAY_STRIDE :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_GENERATE_MIPMAP :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLOCK_INDEX :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_BINDING :: GLenum
pattern GL_BUFFER_DATA_SIZE :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BUFFER_VARIABLE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CAVEAT_SUPPORT :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLEAR_BUFFER :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_COMPONENTS :: GLenum
pattern GL_COLOR_ENCODING :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_RENDERABLE :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_R11_EAC :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_R11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
pattern GL_COMPRESSED_SRGB8_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_COMPUTE_SHADER :: GLenum
pattern GL_COMPUTE_SHADER_BIT :: GLbitfield
pattern GL_COMPUTE_SUBROUTINE :: GLenum
pattern GL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
pattern GL_COMPUTE_TEXTURE :: GLenum
pattern GL_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_DEBUG_BIT :: GLbitfield
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DEBUG_CALLBACK_FUNCTION :: GLenum
pattern GL_DEBUG_CALLBACK_USER_PARAM :: GLenum
pattern GL_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
pattern GL_DEBUG_OUTPUT :: GLenum
pattern GL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
pattern GL_DEBUG_SEVERITY_HIGH :: GLenum
pattern GL_DEBUG_SEVERITY_LOW :: GLenum
pattern GL_DEBUG_SEVERITY_MEDIUM :: GLenum
pattern GL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
pattern GL_DEBUG_SOURCE_API :: GLenum
pattern GL_DEBUG_SOURCE_APPLICATION :: GLenum
pattern GL_DEBUG_SOURCE_OTHER :: GLenum
pattern GL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
pattern GL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
pattern GL_DEBUG_TYPE_ERROR :: GLenum
pattern GL_DEBUG_TYPE_MARKER :: GLenum
pattern GL_DEBUG_TYPE_OTHER :: GLenum
pattern GL_DEBUG_TYPE_PERFORMANCE :: GLenum
pattern GL_DEBUG_TYPE_POP_GROUP :: GLenum
pattern GL_DEBUG_TYPE_PORTABILITY :: GLenum
pattern GL_DEBUG_TYPE_PUSH_GROUP :: GLenum
pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_COMPONENTS :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_RENDERABLE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER :: GLenum
pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DISPLAY_LIST :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FILTER :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAGMENT_SUBROUTINE :: GLenum
pattern GL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
pattern GL_FRAGMENT_TEXTURE :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_BLEND :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE :: GLenum
pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FULL_SUPPORT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_SUBROUTINE :: GLenum
pattern GL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
pattern GL_GEOMETRY_TEXTURE :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_GET_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CLASS_10_10_10_2 :: GLenum
pattern GL_IMAGE_CLASS_11_11_10 :: GLenum
pattern GL_IMAGE_CLASS_1_X_16 :: GLenum
pattern GL_IMAGE_CLASS_1_X_32 :: GLenum
pattern GL_IMAGE_CLASS_1_X_8 :: GLenum
pattern GL_IMAGE_CLASS_2_X_16 :: GLenum
pattern GL_IMAGE_CLASS_2_X_32 :: GLenum
pattern GL_IMAGE_CLASS_2_X_8 :: GLenum
pattern GL_IMAGE_CLASS_4_X_16 :: GLenum
pattern GL_IMAGE_CLASS_4_X_32 :: GLenum
pattern GL_IMAGE_CLASS_4_X_8 :: GLenum
pattern GL_IMAGE_COMPATIBILITY_CLASS :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMAGE_PIXEL_FORMAT :: GLenum
pattern GL_IMAGE_PIXEL_TYPE :: GLenum
pattern GL_IMAGE_TEXEL_SIZE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
pattern GL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_SIZE :: GLenum
pattern GL_INTERNALFORMAT_BLUE_TYPE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
pattern GL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_SIZE :: GLenum
pattern GL_INTERNALFORMAT_GREEN_TYPE :: GLenum
pattern GL_INTERNALFORMAT_PREFERRED :: GLenum
pattern GL_INTERNALFORMAT_RED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_RED_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SHARED_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
pattern GL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
pattern GL_INTERNALFORMAT_SUPPORTED :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_IS_PER_PATCH :: GLenum
pattern GL_IS_ROW_MAJOR :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOCATION :: GLenum
pattern GL_LOCATION_INDEX :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MANUAL_GENERATE_MIPMAP :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MATRIX_STRIDE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_DIMENSIONS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
pattern GL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
pattern GL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
pattern GL_MAX_DEPTH :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_ELEMENT_INDEX :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
pattern GL_MAX_FRAMEBUFFER_LAYERS :: GLenum
pattern GL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
pattern GL_MAX_FRAMEBUFFER_WIDTH :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_HEIGHT :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LABEL_LENGTH :: GLenum
pattern GL_MAX_LAYERS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_LENGTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MAX_WIDTH :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIPMAP :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_LENGTH :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_ACTIVE_VARIABLES :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_OFFSET :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_INPUT :: GLenum
pattern GL_PROGRAM_OUTPUT :: GLenum
pattern GL_PROGRAM_PIPELINE :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_PIXELS :: GLenum
pattern GL_READ_PIXELS_FORMAT :: GLenum
pattern GL_READ_PIXELS_TYPE :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_IMAGE_ATOMIC :: GLenum
pattern GL_SHADER_IMAGE_LOAD :: GLenum
pattern GL_SHADER_IMAGE_STORE :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_STORAGE_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_STORAGE_BLOCK :: GLenum
pattern GL_SHADER_STORAGE_BUFFER :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
pattern GL_SHADER_STORAGE_BUFFER_START :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_SRGB_READ :: GLenum
pattern GL_SRGB_WRITE :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_COMPONENTS :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_RENDERABLE :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_CONTROL_SUBROUTINE :: GLenum
pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_CONTROL_TEXTURE :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SUBROUTINE :: GLenum
pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
pattern GL_TESS_EVALUATION_TEXTURE :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET :: GLenum
pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GATHER :: GLenum
pattern GL_TEXTURE_GATHER_SHADOW :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMAGE_FORMAT :: GLenum
pattern GL_TEXTURE_IMAGE_TYPE :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHADOW :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_VIEW :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LAYER :: GLenum
pattern GL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
pattern GL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TOP_LEVEL_ARRAY_SIZE :: GLenum
pattern GL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_TYPE :: GLenum
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_BUFFER :: GLenum
pattern GL_VERTEX_BINDING_DIVISOR :: GLenum
pattern GL_VERTEX_BINDING_OFFSET :: GLenum
pattern GL_VERTEX_BINDING_STRIDE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VERTEX_SUBROUTINE :: GLenum
pattern GL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
pattern GL_VERTEX_TEXTURE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_VIEW_CLASS_128_BITS :: GLenum
pattern GL_VIEW_CLASS_16_BITS :: GLenum
pattern GL_VIEW_CLASS_24_BITS :: GLenum
pattern GL_VIEW_CLASS_32_BITS :: GLenum
pattern GL_VIEW_CLASS_48_BITS :: GLenum
pattern GL_VIEW_CLASS_64_BITS :: GLenum
pattern GL_VIEW_CLASS_8_BITS :: GLenum
pattern GL_VIEW_CLASS_96_BITS :: GLenum
pattern GL_VIEW_CLASS_BPTC_FLOAT :: GLenum
pattern GL_VIEW_CLASS_BPTC_UNORM :: GLenum
pattern GL_VIEW_CLASS_RGTC1_RED :: GLenum
pattern GL_VIEW_CLASS_RGTC2_RG :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
pattern GL_VIEW_COMPATIBILITY_CLASS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 4.x.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility42

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALL_BARRIER_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BARRIER_BIT :: GLbitfield
pattern GL_ATOMIC_COUNTER_BUFFER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_ATOMIC_COUNTER_BUFFER_START :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMMAND_BARRIER_BIT :: GLbitfield
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_READ_BUFFER_BINDING :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER_BINDING :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BARRIER_BIT :: GLbitfield
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_IMAGE_1D :: GLenum
pattern GL_IMAGE_1D_ARRAY :: GLenum
pattern GL_IMAGE_2D :: GLenum
pattern GL_IMAGE_2D_ARRAY :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_IMAGE_2D_RECT :: GLenum
pattern GL_IMAGE_3D :: GLenum
pattern GL_IMAGE_BINDING_ACCESS :: GLenum
pattern GL_IMAGE_BINDING_FORMAT :: GLenum
pattern GL_IMAGE_BINDING_LAYER :: GLenum
pattern GL_IMAGE_BINDING_LAYERED :: GLenum
pattern GL_IMAGE_BINDING_LEVEL :: GLenum
pattern GL_IMAGE_BINDING_NAME :: GLenum
pattern GL_IMAGE_BUFFER :: GLenum
pattern GL_IMAGE_CUBE :: GLenum
pattern GL_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_IMAGE_1D :: GLenum
pattern GL_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D :: GLenum
pattern GL_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_IMAGE_2D_RECT :: GLenum
pattern GL_INT_IMAGE_3D :: GLenum
pattern GL_INT_IMAGE_BUFFER :: GLenum
pattern GL_INT_IMAGE_CUBE :: GLenum
pattern GL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_IMAGE_SAMPLES :: GLenum
pattern GL_MAX_IMAGE_UNITS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SAMPLE_COUNTS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_BUFFER_BARRIER_BIT :: GLbitfield
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLbitfield
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FETCH_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_UPDATE_BARRIER_BIT :: GLbitfield
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
pattern GL_UNIFORM_BARRIER_BIT :: GLbitfield
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_3D :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLbitfield
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility41

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_PROGRAM :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALL_SHADER_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_BIT :: GLbitfield
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_BIT :: GLbitfield
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HIGH_FLOAT :: GLenum
pattern GL_HIGH_INT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
pattern GL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LAYER_PROVOKING_VERTEX :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LOW_FLOAT :: GLenum
pattern GL_LOW_INT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VARYING_VECTORS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
pattern GL_MAX_VIEWPORTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MEDIUM_FLOAT :: GLenum
pattern GL_MEDIUM_INT :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_NUM_SHADER_BINARY_FORMATS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_BINARY_FORMATS :: GLenum
pattern GL_PROGRAM_BINARY_LENGTH :: GLenum
pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
pattern GL_PROGRAM_PIPELINE_BINDING :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROGRAM_SEPARABLE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB565 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_BINARY_FORMATS :: GLenum
pattern GL_SHADER_COMPILER :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_CONTROL_SHADER_BIT :: GLbitfield
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER_BIT :: GLbitfield
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNDEFINED_VERTEX :: GLenum
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VERTEX_SHADER_BIT :: GLbitfield
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_VIEWPORT_BOUNDS_RANGE :: GLenum
pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
pattern GL_VIEWPORT_SUBPIXEL_BITS :: GLenum
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for OpenGL 4.x.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for OpenGL 4.x.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual page for OpenGL 4.x.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glProgramParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform1uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform2uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform3uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 4.x.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 4.x.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility40

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINES :: GLenum
pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DOUBLE_MAT2 :: GLenum
pattern GL_DOUBLE_MAT2x3 :: GLenum
pattern GL_DOUBLE_MAT2x4 :: GLenum
pattern GL_DOUBLE_MAT3 :: GLenum
pattern GL_DOUBLE_MAT3x2 :: GLenum
pattern GL_DOUBLE_MAT3x4 :: GLenum
pattern GL_DOUBLE_MAT4 :: GLenum
pattern GL_DOUBLE_MAT4x2 :: GLenum
pattern GL_DOUBLE_MAT4x3 :: GLenum
pattern GL_DOUBLE_VEC2 :: GLenum
pattern GL_DOUBLE_VEC3 :: GLenum
pattern GL_DOUBLE_VEC4 :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER :: GLenum
pattern GL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRACTIONAL_EVEN :: GLenum
pattern GL_FRACTIONAL_ODD :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_ISOLINES :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PATCH_VERTICES :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_SUBROUTINES :: GLenum
pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_TESS_GEN_LEVEL :: GLenum
pattern GL_MAX_TESS_PATCH_COMPONENTS :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_STREAMS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
pattern GL_MIN_SAMPLE_SHADING_VALUE :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PATCHES :: GLenum
pattern GL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
pattern GL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
pattern GL_PATCH_VERTICES :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SAMPLE_SHADING :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
pattern GL_TESS_CONTROL_SHADER :: GLenum
pattern GL_TESS_EVALUATION_SHADER :: GLenum
pattern GL_TESS_GEN_MODE :: GLenum
pattern GL_TESS_GEN_POINT_MODE :: GLenum
pattern GL_TESS_GEN_SPACING :: GLenum
pattern GL_TESS_GEN_VERTEX_ORDER :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for OpenGL 4.x.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 4.x.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 4.x.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for OpenGL 4.x.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for OpenGL 4.x.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 4.x.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 4.x.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 4.x.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 4.x.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 4.x.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()
glUniform2dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform3d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform3dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()
glUniform4d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glUniform4dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 4.x.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility33

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ANY_SAMPLES_PASSED :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_2_10_10_10_REV :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC1_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC1_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB10_A2UI :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BINDING :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_COLOR :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_SWIZZLE_A :: GLenum
pattern GL_TEXTURE_SWIZZLE_B :: GLenum
pattern GL_TEXTURE_SWIZZLE_G :: GLenum
pattern GL_TEXTURE_SWIZZLE_R :: GLenum
pattern GL_TEXTURE_SWIZZLE_RGBA :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()
glColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glColorP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glColorP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoordP1ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP1uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP2ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP2uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP3ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP3uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glMultiTexCoordP4ui :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoordP4uiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoordP1ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP1uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glTexCoordP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glTexCoordP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()
glVertexP2ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP2uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()
glVertexP4ui :: MonadIO m => GLenum -> GLuint -> m ()
glVertexP4uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility32

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 64bit signed two's complement binary integer.
type GLint64 = Int64

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | Pointer-sized sync object handle.
type GLsync = Ptr ()

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 64bit unsigned binary integer.
type GLuint64 = Word64

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALREADY_SIGNALED :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONDITION_SATISFIED :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_CORE_PROFILE_BIT :: GLbitfield
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_CONTEXT_PROFILE_MASK :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLAMP :: GLenum
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIRST_VERTEX_CONVENTION :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEOMETRY_INPUT_TYPE :: GLenum
pattern GL_GEOMETRY_OUTPUT_TYPE :: GLenum
pattern GL_GEOMETRY_SHADER :: GLenum
pattern GL_GEOMETRY_VERTICES_OUT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LAST_VERTEX_CONVENTION :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINES_ADJACENCY :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_STRIP_ADJACENCY :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_INTEGER_SAMPLES :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_SAMPLE_MASK_WORDS :: GLenum
pattern GL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_OBJECT_TYPE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROGRAM_POINT_SIZE :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROVOKING_VERTEX :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SAMPLE_MASK :: GLenum
pattern GL_SAMPLE_MASK_VALUE :: GLenum
pattern GL_SAMPLE_POSITION :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNALED :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_SYNC_CONDITION :: GLenum
pattern GL_SYNC_FENCE :: GLenum
pattern GL_SYNC_FLAGS :: GLenum
pattern GL_SYNC_FLUSH_COMMANDS_BIT :: GLbitfield
pattern GL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
pattern GL_SYNC_STATUS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SAMPLES :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TIMEOUT_EXPIRED :: GLenum
pattern GL_TIMEOUT_IGNORED :: GLuint64
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLES_ADJACENCY :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRIANGLE_STRIP_ADJACENCY :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNALED :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WAIT_FAILED :: GLenum
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility31

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCKS :: GLenum
pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_BUFFER :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_INDEX :: GLuint
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
pattern GL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PRIMITIVE_RESTART :: GLenum
pattern GL_PRIMITIVE_RESTART_INDEX :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_PROXY_TEXTURE_RECTANGLE :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R16_SNORM :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_R8_SNORM :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG16_SNORM :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RG8_SNORM :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB16_SNORM :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB8_SNORM :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA16_SNORM :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA8_SNORM :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_RECT :: GLenum
pattern GL_SAMPLER_2D_RECT_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_BUFFER :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SIGNED_NORMALIZED :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_BUFFER :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BINDING_RECTANGLE :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_BUFFER :: GLenum
pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RECTANGLE :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNIFORM_ARRAY_STRIDE :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
pattern GL_UNIFORM_BLOCK_BINDING :: GLenum
pattern GL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
pattern GL_UNIFORM_BLOCK_INDEX :: GLenum
pattern GL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
pattern GL_UNIFORM_BUFFER :: GLenum
pattern GL_UNIFORM_BUFFER_BINDING :: GLenum
pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
pattern GL_UNIFORM_BUFFER_SIZE :: GLenum
pattern GL_UNIFORM_BUFFER_START :: GLenum
pattern GL_UNIFORM_IS_ROW_MAJOR :: GLenum
pattern GL_UNIFORM_MATRIX_STRIDE :: GLenum
pattern GL_UNIFORM_NAME_LENGTH :: GLenum
pattern GL_UNIFORM_OFFSET :: GLenum
pattern GL_UNIFORM_SIZE :: GLenum
pattern GL_UNIFORM_TYPE :: GLenum
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Compatibility30

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_INTEGER :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BGRA_INTEGER :: GLenum
pattern GL_BGR_INTEGER :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_INTEGER :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_ACCESS_FLAGS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_LENGTH :: GLenum
pattern GL_BUFFER_MAP_OFFSET :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_FRAGMENT_COLOR :: GLenum
pattern GL_CLAMP_READ_COLOR :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLAMP_VERTEX_COLOR :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_DISTANCE0 :: GLenum
pattern GL_CLIP_DISTANCE1 :: GLenum
pattern GL_CLIP_DISTANCE2 :: GLenum
pattern GL_CLIP_DISTANCE3 :: GLenum
pattern GL_CLIP_DISTANCE4 :: GLenum
pattern GL_CLIP_DISTANCE5 :: GLenum
pattern GL_CLIP_DISTANCE6 :: GLenum
pattern GL_CLIP_DISTANCE7 :: GLenum
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_ATTACHMENT0 :: GLenum
pattern GL_COLOR_ATTACHMENT1 :: GLenum
pattern GL_COLOR_ATTACHMENT10 :: GLenum
pattern GL_COLOR_ATTACHMENT11 :: GLenum
pattern GL_COLOR_ATTACHMENT12 :: GLenum
pattern GL_COLOR_ATTACHMENT13 :: GLenum
pattern GL_COLOR_ATTACHMENT14 :: GLenum
pattern GL_COLOR_ATTACHMENT15 :: GLenum
pattern GL_COLOR_ATTACHMENT16 :: GLenum
pattern GL_COLOR_ATTACHMENT17 :: GLenum
pattern GL_COLOR_ATTACHMENT18 :: GLenum
pattern GL_COLOR_ATTACHMENT19 :: GLenum
pattern GL_COLOR_ATTACHMENT2 :: GLenum
pattern GL_COLOR_ATTACHMENT20 :: GLenum
pattern GL_COLOR_ATTACHMENT21 :: GLenum
pattern GL_COLOR_ATTACHMENT22 :: GLenum
pattern GL_COLOR_ATTACHMENT23 :: GLenum
pattern GL_COLOR_ATTACHMENT24 :: GLenum
pattern GL_COLOR_ATTACHMENT25 :: GLenum
pattern GL_COLOR_ATTACHMENT26 :: GLenum
pattern GL_COLOR_ATTACHMENT27 :: GLenum
pattern GL_COLOR_ATTACHMENT28 :: GLenum
pattern GL_COLOR_ATTACHMENT29 :: GLenum
pattern GL_COLOR_ATTACHMENT3 :: GLenum
pattern GL_COLOR_ATTACHMENT30 :: GLenum
pattern GL_COLOR_ATTACHMENT31 :: GLenum
pattern GL_COLOR_ATTACHMENT4 :: GLenum
pattern GL_COLOR_ATTACHMENT5 :: GLenum
pattern GL_COLOR_ATTACHMENT6 :: GLenum
pattern GL_COLOR_ATTACHMENT7 :: GLenum
pattern GL_COLOR_ATTACHMENT8 :: GLenum
pattern GL_COLOR_ATTACHMENT9 :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_REF_TO_TEXTURE :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RED :: GLenum
pattern GL_COMPRESSED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_RG :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
pattern GL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_CONTEXT_FLAGS :: GLenum
pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLbitfield
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH24_STENCIL8 :: GLenum
pattern GL_DEPTH32F_STENCIL8 :: GLenum
pattern GL_DEPTH_ATTACHMENT :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_COMPONENT32F :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_STENCIL :: GLenum
pattern GL_DEPTH_STENCIL_ATTACHMENT :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_FRAMEBUFFER :: GLenum
pattern GL_DRAW_FRAMEBUFFER_BINDING :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FIXED_ONLY :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRAMEBUFFER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
pattern GL_FRAMEBUFFER_BINDING :: GLenum
pattern GL_FRAMEBUFFER_COMPLETE :: GLenum
pattern GL_FRAMEBUFFER_DEFAULT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
pattern GL_FRAMEBUFFER_SRGB :: GLenum
pattern GL_FRAMEBUFFER_UNDEFINED :: GLenum
pattern GL_FRAMEBUFFER_UNSUPPORTED :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_INTEGER :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HALF_FLOAT :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERLEAVED_ATTRIBS :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_SAMPLER_1D :: GLenum
pattern GL_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_2D :: GLenum
pattern GL_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_INT_SAMPLER_3D :: GLenum
pattern GL_INT_SAMPLER_CUBE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAJOR_VERSION :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_FLUSH_EXPLICIT_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_BUFFER_BIT :: GLbitfield
pattern GL_MAP_INVALIDATE_RANGE_BIT :: GLbitfield
pattern GL_MAP_READ_BIT :: GLbitfield
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MAP_UNSYNCHRONIZED_BIT :: GLbitfield
pattern GL_MAP_WRITE_BIT :: GLbitfield
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_DISTANCES :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COLOR_ATTACHMENTS :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_RENDERBUFFER_SIZE :: GLenum
pattern GL_MAX_SAMPLES :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_COMPONENTS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MINOR_VERSION :: GLenum
pattern GL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_NUM_EXTENSIONS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PRIMITIVES_GENERATED :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_1D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_2D_ARRAY :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_BY_REGION_NO_WAIT :: GLenum
pattern GL_QUERY_BY_REGION_WAIT :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_NO_WAIT :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_QUERY_WAIT :: GLenum
pattern GL_R :: GLenum
pattern GL_R11F_G11F_B10F :: GLenum
pattern GL_R16 :: GLenum
pattern GL_R16F :: GLenum
pattern GL_R16I :: GLenum
pattern GL_R16UI :: GLenum
pattern GL_R32F :: GLenum
pattern GL_R32I :: GLenum
pattern GL_R32UI :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_R8 :: GLenum
pattern GL_R8I :: GLenum
pattern GL_R8UI :: GLenum
pattern GL_RASTERIZER_DISCARD :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER :: GLenum
pattern GL_READ_FRAMEBUFFER_BINDING :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_INTEGER :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERBUFFER :: GLenum
pattern GL_RENDERBUFFER_ALPHA_SIZE :: GLenum
pattern GL_RENDERBUFFER_BINDING :: GLenum
pattern GL_RENDERBUFFER_BLUE_SIZE :: GLenum
pattern GL_RENDERBUFFER_DEPTH_SIZE :: GLenum
pattern GL_RENDERBUFFER_GREEN_SIZE :: GLenum
pattern GL_RENDERBUFFER_HEIGHT :: GLenum
pattern GL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
pattern GL_RENDERBUFFER_RED_SIZE :: GLenum
pattern GL_RENDERBUFFER_SAMPLES :: GLenum
pattern GL_RENDERBUFFER_STENCIL_SIZE :: GLenum
pattern GL_RENDERBUFFER_WIDTH :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RG :: GLenum
pattern GL_RG16 :: GLenum
pattern GL_RG16F :: GLenum
pattern GL_RG16I :: GLenum
pattern GL_RG16UI :: GLenum
pattern GL_RG32F :: GLenum
pattern GL_RG32I :: GLenum
pattern GL_RG32UI :: GLenum
pattern GL_RG8 :: GLenum
pattern GL_RG8I :: GLenum
pattern GL_RG8UI :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB16F :: GLenum
pattern GL_RGB16I :: GLenum
pattern GL_RGB16UI :: GLenum
pattern GL_RGB32F :: GLenum
pattern GL_RGB32I :: GLenum
pattern GL_RGB32UI :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGB8I :: GLenum
pattern GL_RGB8UI :: GLenum
pattern GL_RGB9_E5 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA16F :: GLenum
pattern GL_RGBA16I :: GLenum
pattern GL_RGBA16UI :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA32F :: GLenum
pattern GL_RGBA32I :: GLenum
pattern GL_RGBA32UI :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA8I :: GLenum
pattern GL_RGBA8UI :: GLenum
pattern GL_RGBA_INTEGER :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_INTEGER :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RG_INTEGER :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_ARRAY :: GLenum
pattern GL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_ARRAY :: GLenum
pattern GL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLER_CUBE_SHADOW :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_ATTRIBS :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_ATTACHMENT :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_INDEX1 :: GLenum
pattern GL_STENCIL_INDEX16 :: GLenum
pattern GL_STENCIL_INDEX4 :: GLenum
pattern GL_STENCIL_INDEX8 :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_1D_ARRAY :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_2D_ARRAY :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_ALPHA_TYPE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_1D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_2D_ARRAY :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BLUE_TYPE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_DEPTH_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_GREEN_TYPE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTENSITY_TYPE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_LUMINANCE_TYPE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RED_TYPE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_SHARED_SIZE :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_STENCIL_SIZE :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_24_8 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_3D :: GLenum
pattern GL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
pattern GL_UNSIGNED_INT_VEC2 :: GLenum
pattern GL_UNSIGNED_INT_VEC3 :: GLenum
pattern GL_UNSIGNED_INT_VEC4 :: GLenum
pattern GL_UNSIGNED_NORMALIZED :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1iv.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI1uiv.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2iv.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI2uiv.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3iv.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI3uiv.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4iv.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x. The vector
--   equivalent of this command is glVertexAttribI4uiv.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 3.x or OpenGL 4.x.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.ARB.HalfFloatVertex

-- | Is the ARB_half_float_vertex extension supported?
glGetARBHalfFloatVertex :: MonadIO m => m Bool

-- | Is the ARB_half_float_vertex extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBHalfFloatVertex in those cases
--   instead.
gl_ARB_half_float_vertex :: Bool

-- | 16bit half-precision floating-point value encoded in an unsigned
--   scalar.
type GLhalf = Half
pattern GL_HALF_FLOAT :: GLenum

module Graphics.GL.ARB.HalfFloatPixel

-- | Is the ARB_half_float_pixel extension supported?
glGetARBHalfFloatPixel :: MonadIO m => m Bool

-- | Is the ARB_half_float_pixel extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use glGetARBHalfFloatPixel in those cases
--   instead.
gl_ARB_half_float_pixel :: Bool
type GLhalfARB = Half
pattern GL_HALF_FLOAT_ARB :: GLenum

-- | A convenience module, combining all raw modules containing ARB
--   extensions.
module Graphics.GL.ARB

module Graphics.GL.Version10

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_R :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

module Graphics.GL.Version11

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_R :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

module Graphics.GL.Version12

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_R :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

module Graphics.GL.Version13

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_R :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

module Graphics.GL.Version14

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_R :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Version15

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_R :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Version20

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_R :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.Version21

-- | 32bit bit field.
type GLbitfield = Word32

-- | 8bit boolean.
type GLboolean = Word8

-- | 8bit signed two's complement binary integer.
type GLbyte = Int8

-- | 8bit characters making up strings.
type GLchar = CChar

-- | 64bit floating-point value clamped to [0, 1].
type GLclampd = Double

-- | 32bit floating-point value clamped to [0, 1].
type GLclampf = Float

-- | 64bit floating-point value.
type GLdouble = Double

-- | 32bit enumerated binary integer value.
type GLenum = Word32

-- | 32bit floating-point value.
type GLfloat = Float

-- | 32bit signed two's complement binary integer.
type GLint = Int32

-- | Pointer-sized signed two's complement binary integer.
type GLintptr = CPtrdiff

-- | 16bit signed two's complement binary integer.
type GLshort = Int16

-- | 32bit non-negative binary integer size.
type GLsizei = Int32

-- | Pointer-sized non-negative binary integer size.
type GLsizeiptr = CPtrdiff

-- | 8bit unsigned binary integer.
type GLubyte = Word8

-- | 32bit unsigned binary integer.
type GLuint = Word32

-- | 16bit unsigned binary integer.
type GLushort = Word16

-- | Not an actual GL type, though used in headers in the past.
type GLvoid = ()
pattern GL_2D :: GLenum
pattern GL_2_BYTES :: GLenum
pattern GL_3D :: GLenum
pattern GL_3D_COLOR :: GLenum
pattern GL_3D_COLOR_TEXTURE :: GLenum
pattern GL_3_BYTES :: GLenum
pattern GL_4D_COLOR_TEXTURE :: GLenum
pattern GL_4_BYTES :: GLenum
pattern GL_ACCUM :: GLenum
pattern GL_ACCUM_ALPHA_BITS :: GLenum
pattern GL_ACCUM_BLUE_BITS :: GLenum
pattern GL_ACCUM_BUFFER_BIT :: GLbitfield
pattern GL_ACCUM_CLEAR_VALUE :: GLenum
pattern GL_ACCUM_GREEN_BITS :: GLenum
pattern GL_ACCUM_RED_BITS :: GLenum
pattern GL_ACTIVE_ATTRIBUTES :: GLenum
pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
pattern GL_ACTIVE_TEXTURE :: GLenum
pattern GL_ACTIVE_UNIFORMS :: GLenum
pattern GL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
pattern GL_ADD :: GLenum
pattern GL_ADD_SIGNED :: GLenum
pattern GL_ALIASED_LINE_WIDTH_RANGE :: GLenum
pattern GL_ALIASED_POINT_SIZE_RANGE :: GLenum
pattern GL_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_ALPHA :: GLenum
pattern GL_ALPHA12 :: GLenum
pattern GL_ALPHA16 :: GLenum
pattern GL_ALPHA4 :: GLenum
pattern GL_ALPHA8 :: GLenum
pattern GL_ALPHA_BIAS :: GLenum
pattern GL_ALPHA_BITS :: GLenum
pattern GL_ALPHA_SCALE :: GLenum
pattern GL_ALPHA_TEST :: GLenum
pattern GL_ALPHA_TEST_FUNC :: GLenum
pattern GL_ALPHA_TEST_REF :: GLenum
pattern GL_ALWAYS :: GLenum
pattern GL_AMBIENT :: GLenum
pattern GL_AMBIENT_AND_DIFFUSE :: GLenum
pattern GL_AND :: GLenum
pattern GL_AND_INVERTED :: GLenum
pattern GL_AND_REVERSE :: GLenum
pattern GL_ARRAY_BUFFER :: GLenum
pattern GL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_ATTACHED_SHADERS :: GLenum
pattern GL_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_AUTO_NORMAL :: GLenum
pattern GL_AUX0 :: GLenum
pattern GL_AUX1 :: GLenum
pattern GL_AUX2 :: GLenum
pattern GL_AUX3 :: GLenum
pattern GL_AUX_BUFFERS :: GLenum
pattern GL_BACK :: GLenum
pattern GL_BACK_LEFT :: GLenum
pattern GL_BACK_RIGHT :: GLenum
pattern GL_BGR :: GLenum
pattern GL_BGRA :: GLenum
pattern GL_BITMAP :: GLenum
pattern GL_BITMAP_TOKEN :: GLenum
pattern GL_BLEND :: GLenum
pattern GL_BLEND_COLOR :: GLenum
pattern GL_BLEND_DST :: GLenum
pattern GL_BLEND_DST_ALPHA :: GLenum
pattern GL_BLEND_DST_RGB :: GLenum
pattern GL_BLEND_EQUATION :: GLenum
pattern GL_BLEND_EQUATION_ALPHA :: GLenum
pattern GL_BLEND_EQUATION_RGB :: GLenum
pattern GL_BLEND_SRC :: GLenum
pattern GL_BLEND_SRC_ALPHA :: GLenum
pattern GL_BLEND_SRC_RGB :: GLenum
pattern GL_BLUE :: GLenum
pattern GL_BLUE_BIAS :: GLenum
pattern GL_BLUE_BITS :: GLenum
pattern GL_BLUE_SCALE :: GLenum
pattern GL_BOOL :: GLenum
pattern GL_BOOL_VEC2 :: GLenum
pattern GL_BOOL_VEC3 :: GLenum
pattern GL_BOOL_VEC4 :: GLenum
pattern GL_BUFFER_ACCESS :: GLenum
pattern GL_BUFFER_MAPPED :: GLenum
pattern GL_BUFFER_MAP_POINTER :: GLenum
pattern GL_BUFFER_SIZE :: GLenum
pattern GL_BUFFER_USAGE :: GLenum
pattern GL_BYTE :: GLenum
pattern GL_C3F_V3F :: GLenum
pattern GL_C4F_N3F_V3F :: GLenum
pattern GL_C4UB_V2F :: GLenum
pattern GL_C4UB_V3F :: GLenum
pattern GL_CCW :: GLenum
pattern GL_CLAMP :: GLenum
pattern GL_CLAMP_TO_BORDER :: GLenum
pattern GL_CLAMP_TO_EDGE :: GLenum
pattern GL_CLEAR :: GLenum
pattern GL_CLIENT_ACTIVE_TEXTURE :: GLenum
pattern GL_CLIENT_ALL_ATTRIB_BITS :: GLbitfield
pattern GL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_CLIENT_PIXEL_STORE_BIT :: GLbitfield
pattern GL_CLIENT_VERTEX_ARRAY_BIT :: GLbitfield
pattern GL_CLIP_PLANE0 :: GLenum
pattern GL_CLIP_PLANE1 :: GLenum
pattern GL_CLIP_PLANE2 :: GLenum
pattern GL_CLIP_PLANE3 :: GLenum
pattern GL_CLIP_PLANE4 :: GLenum
pattern GL_CLIP_PLANE5 :: GLenum
pattern GL_COEFF :: GLenum
pattern GL_COLOR :: GLenum
pattern GL_COLOR_ARRAY :: GLenum
pattern GL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_COLOR_ARRAY_POINTER :: GLenum
pattern GL_COLOR_ARRAY_SIZE :: GLenum
pattern GL_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_COLOR_ARRAY_TYPE :: GLenum
pattern GL_COLOR_BUFFER_BIT :: GLbitfield
pattern GL_COLOR_CLEAR_VALUE :: GLenum
pattern GL_COLOR_INDEX :: GLenum
pattern GL_COLOR_INDEXES :: GLenum
pattern GL_COLOR_LOGIC_OP :: GLenum
pattern GL_COLOR_MATERIAL :: GLenum
pattern GL_COLOR_MATERIAL_FACE :: GLenum
pattern GL_COLOR_MATERIAL_PARAMETER :: GLenum
pattern GL_COLOR_SUM :: GLenum
pattern GL_COLOR_WRITEMASK :: GLenum
pattern GL_COMBINE :: GLenum
pattern GL_COMBINE_ALPHA :: GLenum
pattern GL_COMBINE_RGB :: GLenum
pattern GL_COMPARE_R_TO_TEXTURE :: GLenum
pattern GL_COMPILE :: GLenum
pattern GL_COMPILE_AND_EXECUTE :: GLenum
pattern GL_COMPILE_STATUS :: GLenum
pattern GL_COMPRESSED_ALPHA :: GLenum
pattern GL_COMPRESSED_INTENSITY :: GLenum
pattern GL_COMPRESSED_LUMINANCE :: GLenum
pattern GL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_RGB :: GLenum
pattern GL_COMPRESSED_RGBA :: GLenum
pattern GL_COMPRESSED_SLUMINANCE :: GLenum
pattern GL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
pattern GL_COMPRESSED_SRGB :: GLenum
pattern GL_COMPRESSED_SRGB_ALPHA :: GLenum
pattern GL_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_CONSTANT :: GLenum
pattern GL_CONSTANT_ALPHA :: GLenum
pattern GL_CONSTANT_ATTENUATION :: GLenum
pattern GL_CONSTANT_COLOR :: GLenum
pattern GL_COORD_REPLACE :: GLenum
pattern GL_COPY :: GLenum
pattern GL_COPY_INVERTED :: GLenum
pattern GL_COPY_PIXEL_TOKEN :: GLenum
pattern GL_CULL_FACE :: GLenum
pattern GL_CULL_FACE_MODE :: GLenum
pattern GL_CURRENT_BIT :: GLbitfield
pattern GL_CURRENT_COLOR :: GLenum
pattern GL_CURRENT_FOG_COORD :: GLenum
pattern GL_CURRENT_FOG_COORDINATE :: GLenum
pattern GL_CURRENT_INDEX :: GLenum
pattern GL_CURRENT_NORMAL :: GLenum
pattern GL_CURRENT_PROGRAM :: GLenum
pattern GL_CURRENT_QUERY :: GLenum
pattern GL_CURRENT_RASTER_COLOR :: GLenum
pattern GL_CURRENT_RASTER_DISTANCE :: GLenum
pattern GL_CURRENT_RASTER_INDEX :: GLenum
pattern GL_CURRENT_RASTER_POSITION :: GLenum
pattern GL_CURRENT_RASTER_POSITION_VALID :: GLenum
pattern GL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_SECONDARY_COLOR :: GLenum
pattern GL_CURRENT_TEXTURE_COORDS :: GLenum
pattern GL_CURRENT_VERTEX_ATTRIB :: GLenum
pattern GL_CW :: GLenum
pattern GL_DECAL :: GLenum
pattern GL_DECR :: GLenum
pattern GL_DECR_WRAP :: GLenum
pattern GL_DELETE_STATUS :: GLenum
pattern GL_DEPTH :: GLenum
pattern GL_DEPTH_BIAS :: GLenum
pattern GL_DEPTH_BITS :: GLenum
pattern GL_DEPTH_BUFFER_BIT :: GLbitfield
pattern GL_DEPTH_CLEAR_VALUE :: GLenum
pattern GL_DEPTH_COMPONENT :: GLenum
pattern GL_DEPTH_COMPONENT16 :: GLenum
pattern GL_DEPTH_COMPONENT24 :: GLenum
pattern GL_DEPTH_COMPONENT32 :: GLenum
pattern GL_DEPTH_FUNC :: GLenum
pattern GL_DEPTH_RANGE :: GLenum
pattern GL_DEPTH_SCALE :: GLenum
pattern GL_DEPTH_TEST :: GLenum
pattern GL_DEPTH_TEXTURE_MODE :: GLenum
pattern GL_DEPTH_WRITEMASK :: GLenum
pattern GL_DIFFUSE :: GLenum
pattern GL_DITHER :: GLenum
pattern GL_DOMAIN :: GLenum
pattern GL_DONT_CARE :: GLenum
pattern GL_DOT3_RGB :: GLenum
pattern GL_DOT3_RGBA :: GLenum
pattern GL_DOUBLE :: GLenum
pattern GL_DOUBLEBUFFER :: GLenum
pattern GL_DRAW_BUFFER :: GLenum
pattern GL_DRAW_BUFFER0 :: GLenum
pattern GL_DRAW_BUFFER1 :: GLenum
pattern GL_DRAW_BUFFER10 :: GLenum
pattern GL_DRAW_BUFFER11 :: GLenum
pattern GL_DRAW_BUFFER12 :: GLenum
pattern GL_DRAW_BUFFER13 :: GLenum
pattern GL_DRAW_BUFFER14 :: GLenum
pattern GL_DRAW_BUFFER15 :: GLenum
pattern GL_DRAW_BUFFER2 :: GLenum
pattern GL_DRAW_BUFFER3 :: GLenum
pattern GL_DRAW_BUFFER4 :: GLenum
pattern GL_DRAW_BUFFER5 :: GLenum
pattern GL_DRAW_BUFFER6 :: GLenum
pattern GL_DRAW_BUFFER7 :: GLenum
pattern GL_DRAW_BUFFER8 :: GLenum
pattern GL_DRAW_BUFFER9 :: GLenum
pattern GL_DRAW_PIXEL_TOKEN :: GLenum
pattern GL_DST_ALPHA :: GLenum
pattern GL_DST_COLOR :: GLenum
pattern GL_DYNAMIC_COPY :: GLenum
pattern GL_DYNAMIC_DRAW :: GLenum
pattern GL_DYNAMIC_READ :: GLenum
pattern GL_EDGE_FLAG :: GLenum
pattern GL_EDGE_FLAG_ARRAY :: GLenum
pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EDGE_FLAG_ARRAY_POINTER :: GLenum
pattern GL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER :: GLenum
pattern GL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_EMISSION :: GLenum
pattern GL_ENABLE_BIT :: GLbitfield
pattern GL_EQUAL :: GLenum
pattern GL_EQUIV :: GLenum
pattern GL_EVAL_BIT :: GLbitfield
pattern GL_EXP :: GLenum
pattern GL_EXP2 :: GLenum
pattern GL_EXTENSIONS :: GLenum
pattern GL_EYE_LINEAR :: GLenum
pattern GL_EYE_PLANE :: GLenum
pattern GL_FALSE :: GLboolean
pattern GL_FASTEST :: GLenum
pattern GL_FEEDBACK :: GLenum
pattern GL_FEEDBACK_BUFFER_POINTER :: GLenum
pattern GL_FEEDBACK_BUFFER_SIZE :: GLenum
pattern GL_FEEDBACK_BUFFER_TYPE :: GLenum
pattern GL_FILL :: GLenum
pattern GL_FLAT :: GLenum
pattern GL_FLOAT :: GLenum
pattern GL_FLOAT_MAT2 :: GLenum
pattern GL_FLOAT_MAT2x3 :: GLenum
pattern GL_FLOAT_MAT2x4 :: GLenum
pattern GL_FLOAT_MAT3 :: GLenum
pattern GL_FLOAT_MAT3x2 :: GLenum
pattern GL_FLOAT_MAT3x4 :: GLenum
pattern GL_FLOAT_MAT4 :: GLenum
pattern GL_FLOAT_MAT4x2 :: GLenum
pattern GL_FLOAT_MAT4x3 :: GLenum
pattern GL_FLOAT_VEC2 :: GLenum
pattern GL_FLOAT_VEC3 :: GLenum
pattern GL_FLOAT_VEC4 :: GLenum
pattern GL_FOG :: GLenum
pattern GL_FOG_BIT :: GLbitfield
pattern GL_FOG_COLOR :: GLenum
pattern GL_FOG_COORD :: GLenum
pattern GL_FOG_COORDINATE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORDINATE_SOURCE :: GLenum
pattern GL_FOG_COORD_ARRAY :: GLenum
pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_FOG_COORD_ARRAY_POINTER :: GLenum
pattern GL_FOG_COORD_ARRAY_STRIDE :: GLenum
pattern GL_FOG_COORD_ARRAY_TYPE :: GLenum
pattern GL_FOG_COORD_SRC :: GLenum
pattern GL_FOG_DENSITY :: GLenum
pattern GL_FOG_END :: GLenum
pattern GL_FOG_HINT :: GLenum
pattern GL_FOG_INDEX :: GLenum
pattern GL_FOG_MODE :: GLenum
pattern GL_FOG_START :: GLenum
pattern GL_FRAGMENT_DEPTH :: GLenum
pattern GL_FRAGMENT_SHADER :: GLenum
pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
pattern GL_FRONT :: GLenum
pattern GL_FRONT_AND_BACK :: GLenum
pattern GL_FRONT_FACE :: GLenum
pattern GL_FRONT_LEFT :: GLenum
pattern GL_FRONT_RIGHT :: GLenum
pattern GL_FUNC_ADD :: GLenum
pattern GL_FUNC_REVERSE_SUBTRACT :: GLenum
pattern GL_FUNC_SUBTRACT :: GLenum
pattern GL_GENERATE_MIPMAP :: GLenum
pattern GL_GENERATE_MIPMAP_HINT :: GLenum
pattern GL_GEQUAL :: GLenum
pattern GL_GREATER :: GLenum
pattern GL_GREEN :: GLenum
pattern GL_GREEN_BIAS :: GLenum
pattern GL_GREEN_BITS :: GLenum
pattern GL_GREEN_SCALE :: GLenum
pattern GL_HINT_BIT :: GLbitfield
pattern GL_INCR :: GLenum
pattern GL_INCR_WRAP :: GLenum
pattern GL_INDEX_ARRAY :: GLenum
pattern GL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_INDEX_ARRAY_POINTER :: GLenum
pattern GL_INDEX_ARRAY_STRIDE :: GLenum
pattern GL_INDEX_ARRAY_TYPE :: GLenum
pattern GL_INDEX_BITS :: GLenum
pattern GL_INDEX_CLEAR_VALUE :: GLenum
pattern GL_INDEX_LOGIC_OP :: GLenum
pattern GL_INDEX_MODE :: GLenum
pattern GL_INDEX_OFFSET :: GLenum
pattern GL_INDEX_SHIFT :: GLenum
pattern GL_INDEX_WRITEMASK :: GLenum
pattern GL_INFO_LOG_LENGTH :: GLenum
pattern GL_INT :: GLenum
pattern GL_INTENSITY :: GLenum
pattern GL_INTENSITY12 :: GLenum
pattern GL_INTENSITY16 :: GLenum
pattern GL_INTENSITY4 :: GLenum
pattern GL_INTENSITY8 :: GLenum
pattern GL_INTERPOLATE :: GLenum
pattern GL_INT_VEC2 :: GLenum
pattern GL_INT_VEC3 :: GLenum
pattern GL_INT_VEC4 :: GLenum
pattern GL_INVALID_ENUM :: GLenum
pattern GL_INVALID_OPERATION :: GLenum
pattern GL_INVALID_VALUE :: GLenum
pattern GL_INVERT :: GLenum
pattern GL_KEEP :: GLenum
pattern GL_LEFT :: GLenum
pattern GL_LEQUAL :: GLenum
pattern GL_LESS :: GLenum
pattern GL_LIGHT0 :: GLenum
pattern GL_LIGHT1 :: GLenum
pattern GL_LIGHT2 :: GLenum
pattern GL_LIGHT3 :: GLenum
pattern GL_LIGHT4 :: GLenum
pattern GL_LIGHT5 :: GLenum
pattern GL_LIGHT6 :: GLenum
pattern GL_LIGHT7 :: GLenum
pattern GL_LIGHTING :: GLenum
pattern GL_LIGHTING_BIT :: GLbitfield
pattern GL_LIGHT_MODEL_AMBIENT :: GLenum
pattern GL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
pattern GL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
pattern GL_LIGHT_MODEL_TWO_SIDE :: GLenum
pattern GL_LINE :: GLenum
pattern GL_LINEAR :: GLenum
pattern GL_LINEAR_ATTENUATION :: GLenum
pattern GL_LINEAR_MIPMAP_LINEAR :: GLenum
pattern GL_LINEAR_MIPMAP_NEAREST :: GLenum
pattern GL_LINES :: GLenum
pattern GL_LINE_BIT :: GLbitfield
pattern GL_LINE_LOOP :: GLenum
pattern GL_LINE_RESET_TOKEN :: GLenum
pattern GL_LINE_SMOOTH :: GLenum
pattern GL_LINE_SMOOTH_HINT :: GLenum
pattern GL_LINE_STIPPLE :: GLenum
pattern GL_LINE_STIPPLE_PATTERN :: GLenum
pattern GL_LINE_STIPPLE_REPEAT :: GLenum
pattern GL_LINE_STRIP :: GLenum
pattern GL_LINE_TOKEN :: GLenum
pattern GL_LINE_WIDTH :: GLenum
pattern GL_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_LINE_WIDTH_RANGE :: GLenum
pattern GL_LINK_STATUS :: GLenum
pattern GL_LIST_BASE :: GLenum
pattern GL_LIST_BIT :: GLbitfield
pattern GL_LIST_INDEX :: GLenum
pattern GL_LIST_MODE :: GLenum
pattern GL_LOAD :: GLenum
pattern GL_LOGIC_OP :: GLenum
pattern GL_LOGIC_OP_MODE :: GLenum
pattern GL_LOWER_LEFT :: GLenum
pattern GL_LUMINANCE :: GLenum
pattern GL_LUMINANCE12 :: GLenum
pattern GL_LUMINANCE12_ALPHA12 :: GLenum
pattern GL_LUMINANCE12_ALPHA4 :: GLenum
pattern GL_LUMINANCE16 :: GLenum
pattern GL_LUMINANCE16_ALPHA16 :: GLenum
pattern GL_LUMINANCE4 :: GLenum
pattern GL_LUMINANCE4_ALPHA4 :: GLenum
pattern GL_LUMINANCE6_ALPHA2 :: GLenum
pattern GL_LUMINANCE8 :: GLenum
pattern GL_LUMINANCE8_ALPHA8 :: GLenum
pattern GL_LUMINANCE_ALPHA :: GLenum
pattern GL_MAP1_COLOR_4 :: GLenum
pattern GL_MAP1_GRID_DOMAIN :: GLenum
pattern GL_MAP1_GRID_SEGMENTS :: GLenum
pattern GL_MAP1_INDEX :: GLenum
pattern GL_MAP1_NORMAL :: GLenum
pattern GL_MAP1_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP1_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP1_VERTEX_3 :: GLenum
pattern GL_MAP1_VERTEX_4 :: GLenum
pattern GL_MAP2_COLOR_4 :: GLenum
pattern GL_MAP2_GRID_DOMAIN :: GLenum
pattern GL_MAP2_GRID_SEGMENTS :: GLenum
pattern GL_MAP2_INDEX :: GLenum
pattern GL_MAP2_NORMAL :: GLenum
pattern GL_MAP2_TEXTURE_COORD_1 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_2 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_3 :: GLenum
pattern GL_MAP2_TEXTURE_COORD_4 :: GLenum
pattern GL_MAP2_VERTEX_3 :: GLenum
pattern GL_MAP2_VERTEX_4 :: GLenum
pattern GL_MAP_COLOR :: GLenum
pattern GL_MAP_STENCIL :: GLenum
pattern GL_MATRIX_MODE :: GLenum
pattern GL_MAX :: GLenum
pattern GL_MAX_3D_TEXTURE_SIZE :: GLenum
pattern GL_MAX_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
pattern GL_MAX_CLIP_PLANES :: GLenum
pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
pattern GL_MAX_DRAW_BUFFERS :: GLenum
pattern GL_MAX_ELEMENTS_INDICES :: GLenum
pattern GL_MAX_ELEMENTS_VERTICES :: GLenum
pattern GL_MAX_EVAL_ORDER :: GLenum
pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_LIGHTS :: GLenum
pattern GL_MAX_LIST_NESTING :: GLenum
pattern GL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MAX_NAME_STACK_DEPTH :: GLenum
pattern GL_MAX_PIXEL_MAP_TABLE :: GLenum
pattern GL_MAX_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_COORDS :: GLenum
pattern GL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_TEXTURE_LOD_BIAS :: GLenum
pattern GL_MAX_TEXTURE_SIZE :: GLenum
pattern GL_MAX_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_MAX_TEXTURE_UNITS :: GLenum
pattern GL_MAX_VARYING_FLOATS :: GLenum
pattern GL_MAX_VERTEX_ATTRIBS :: GLenum
pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
pattern GL_MAX_VIEWPORT_DIMS :: GLenum
pattern GL_MIN :: GLenum
pattern GL_MIRRORED_REPEAT :: GLenum
pattern GL_MODELVIEW :: GLenum
pattern GL_MODELVIEW_MATRIX :: GLenum
pattern GL_MODELVIEW_STACK_DEPTH :: GLenum
pattern GL_MODULATE :: GLenum
pattern GL_MULT :: GLenum
pattern GL_MULTISAMPLE :: GLenum
pattern GL_MULTISAMPLE_BIT :: GLbitfield
pattern GL_N3F_V3F :: GLenum
pattern GL_NAME_STACK_DEPTH :: GLenum
pattern GL_NAND :: GLenum
pattern GL_NEAREST :: GLenum
pattern GL_NEAREST_MIPMAP_LINEAR :: GLenum
pattern GL_NEAREST_MIPMAP_NEAREST :: GLenum
pattern GL_NEVER :: GLenum
pattern GL_NICEST :: GLenum
pattern GL_NONE :: GLenum
pattern GL_NOOP :: GLenum
pattern GL_NOR :: GLenum
pattern GL_NORMALIZE :: GLenum
pattern GL_NORMAL_ARRAY :: GLenum
pattern GL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_NORMAL_ARRAY_POINTER :: GLenum
pattern GL_NORMAL_ARRAY_STRIDE :: GLenum
pattern GL_NORMAL_ARRAY_TYPE :: GLenum
pattern GL_NORMAL_MAP :: GLenum
pattern GL_NOTEQUAL :: GLenum
pattern GL_NO_ERROR :: GLenum
pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
pattern GL_OBJECT_LINEAR :: GLenum
pattern GL_OBJECT_PLANE :: GLenum
pattern GL_ONE :: GLenum
pattern GL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
pattern GL_ONE_MINUS_CONSTANT_COLOR :: GLenum
pattern GL_ONE_MINUS_DST_ALPHA :: GLenum
pattern GL_ONE_MINUS_DST_COLOR :: GLenum
pattern GL_ONE_MINUS_SRC_ALPHA :: GLenum
pattern GL_ONE_MINUS_SRC_COLOR :: GLenum
pattern GL_OPERAND0_ALPHA :: GLenum
pattern GL_OPERAND0_RGB :: GLenum
pattern GL_OPERAND1_ALPHA :: GLenum
pattern GL_OPERAND1_RGB :: GLenum
pattern GL_OPERAND2_ALPHA :: GLenum
pattern GL_OPERAND2_RGB :: GLenum
pattern GL_OR :: GLenum
pattern GL_ORDER :: GLenum
pattern GL_OR_INVERTED :: GLenum
pattern GL_OR_REVERSE :: GLenum
pattern GL_OUT_OF_MEMORY :: GLenum
pattern GL_PACK_ALIGNMENT :: GLenum
pattern GL_PACK_IMAGE_HEIGHT :: GLenum
pattern GL_PACK_LSB_FIRST :: GLenum
pattern GL_PACK_ROW_LENGTH :: GLenum
pattern GL_PACK_SKIP_IMAGES :: GLenum
pattern GL_PACK_SKIP_PIXELS :: GLenum
pattern GL_PACK_SKIP_ROWS :: GLenum
pattern GL_PACK_SWAP_BYTES :: GLenum
pattern GL_PASS_THROUGH_TOKEN :: GLenum
pattern GL_PERSPECTIVE_CORRECTION_HINT :: GLenum
pattern GL_PIXEL_MAP_A_TO_A :: GLenum
pattern GL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_B_TO_B :: GLenum
pattern GL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_G_TO_G :: GLenum
pattern GL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_A :: GLenum
pattern GL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_B :: GLenum
pattern GL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_G :: GLenum
pattern GL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_I :: GLenum
pattern GL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
pattern GL_PIXEL_MAP_I_TO_R :: GLenum
pattern GL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_R_TO_R :: GLenum
pattern GL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
pattern GL_PIXEL_MAP_S_TO_S :: GLenum
pattern GL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
pattern GL_PIXEL_MODE_BIT :: GLbitfield
pattern GL_PIXEL_PACK_BUFFER :: GLenum
pattern GL_PIXEL_PACK_BUFFER_BINDING :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER :: GLenum
pattern GL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
pattern GL_POINT :: GLenum
pattern GL_POINTS :: GLenum
pattern GL_POINT_BIT :: GLbitfield
pattern GL_POINT_DISTANCE_ATTENUATION :: GLenum
pattern GL_POINT_FADE_THRESHOLD_SIZE :: GLenum
pattern GL_POINT_SIZE :: GLenum
pattern GL_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_POINT_SIZE_MAX :: GLenum
pattern GL_POINT_SIZE_MIN :: GLenum
pattern GL_POINT_SIZE_RANGE :: GLenum
pattern GL_POINT_SMOOTH :: GLenum
pattern GL_POINT_SMOOTH_HINT :: GLenum
pattern GL_POINT_SPRITE :: GLenum
pattern GL_POINT_SPRITE_COORD_ORIGIN :: GLenum
pattern GL_POINT_TOKEN :: GLenum
pattern GL_POLYGON :: GLenum
pattern GL_POLYGON_BIT :: GLbitfield
pattern GL_POLYGON_MODE :: GLenum
pattern GL_POLYGON_OFFSET_FACTOR :: GLenum
pattern GL_POLYGON_OFFSET_FILL :: GLenum
pattern GL_POLYGON_OFFSET_LINE :: GLenum
pattern GL_POLYGON_OFFSET_POINT :: GLenum
pattern GL_POLYGON_OFFSET_UNITS :: GLenum
pattern GL_POLYGON_SMOOTH :: GLenum
pattern GL_POLYGON_SMOOTH_HINT :: GLenum
pattern GL_POLYGON_STIPPLE :: GLenum
pattern GL_POLYGON_STIPPLE_BIT :: GLbitfield
pattern GL_POLYGON_TOKEN :: GLenum
pattern GL_POSITION :: GLenum
pattern GL_PREVIOUS :: GLenum
pattern GL_PRIMARY_COLOR :: GLenum
pattern GL_PROJECTION :: GLenum
pattern GL_PROJECTION_MATRIX :: GLenum
pattern GL_PROJECTION_STACK_DEPTH :: GLenum
pattern GL_PROXY_TEXTURE_1D :: GLenum
pattern GL_PROXY_TEXTURE_2D :: GLenum
pattern GL_PROXY_TEXTURE_3D :: GLenum
pattern GL_PROXY_TEXTURE_CUBE_MAP :: GLenum
pattern GL_Q :: GLenum
pattern GL_QUADRATIC_ATTENUATION :: GLenum
pattern GL_QUADS :: GLenum
pattern GL_QUAD_STRIP :: GLenum
pattern GL_QUERY_COUNTER_BITS :: GLenum
pattern GL_QUERY_RESULT :: GLenum
pattern GL_QUERY_RESULT_AVAILABLE :: GLenum
pattern GL_R :: GLenum
pattern GL_R3_G3_B2 :: GLenum
pattern GL_READ_BUFFER :: GLenum
pattern GL_READ_ONLY :: GLenum
pattern GL_READ_WRITE :: GLenum
pattern GL_RED :: GLenum
pattern GL_RED_BIAS :: GLenum
pattern GL_RED_BITS :: GLenum
pattern GL_RED_SCALE :: GLenum
pattern GL_REFLECTION_MAP :: GLenum
pattern GL_RENDER :: GLenum
pattern GL_RENDERER :: GLenum
pattern GL_RENDER_MODE :: GLenum
pattern GL_REPEAT :: GLenum
pattern GL_REPLACE :: GLenum
pattern GL_RESCALE_NORMAL :: GLenum
pattern GL_RETURN :: GLenum
pattern GL_RGB :: GLenum
pattern GL_RGB10 :: GLenum
pattern GL_RGB10_A2 :: GLenum
pattern GL_RGB12 :: GLenum
pattern GL_RGB16 :: GLenum
pattern GL_RGB4 :: GLenum
pattern GL_RGB5 :: GLenum
pattern GL_RGB5_A1 :: GLenum
pattern GL_RGB8 :: GLenum
pattern GL_RGBA :: GLenum
pattern GL_RGBA12 :: GLenum
pattern GL_RGBA16 :: GLenum
pattern GL_RGBA2 :: GLenum
pattern GL_RGBA4 :: GLenum
pattern GL_RGBA8 :: GLenum
pattern GL_RGBA_MODE :: GLenum
pattern GL_RGB_SCALE :: GLenum
pattern GL_RIGHT :: GLenum
pattern GL_S :: GLenum
pattern GL_SAMPLER_1D :: GLenum
pattern GL_SAMPLER_1D_SHADOW :: GLenum
pattern GL_SAMPLER_2D :: GLenum
pattern GL_SAMPLER_2D_SHADOW :: GLenum
pattern GL_SAMPLER_3D :: GLenum
pattern GL_SAMPLER_CUBE :: GLenum
pattern GL_SAMPLES :: GLenum
pattern GL_SAMPLES_PASSED :: GLenum
pattern GL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
pattern GL_SAMPLE_ALPHA_TO_ONE :: GLenum
pattern GL_SAMPLE_BUFFERS :: GLenum
pattern GL_SAMPLE_COVERAGE :: GLenum
pattern GL_SAMPLE_COVERAGE_INVERT :: GLenum
pattern GL_SAMPLE_COVERAGE_VALUE :: GLenum
pattern GL_SCISSOR_BIT :: GLbitfield
pattern GL_SCISSOR_BOX :: GLenum
pattern GL_SCISSOR_TEST :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
pattern GL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
pattern GL_SELECT :: GLenum
pattern GL_SELECTION_BUFFER_POINTER :: GLenum
pattern GL_SELECTION_BUFFER_SIZE :: GLenum
pattern GL_SEPARATE_SPECULAR_COLOR :: GLenum
pattern GL_SET :: GLenum
pattern GL_SHADER_SOURCE_LENGTH :: GLenum
pattern GL_SHADER_TYPE :: GLenum
pattern GL_SHADE_MODEL :: GLenum
pattern GL_SHADING_LANGUAGE_VERSION :: GLenum
pattern GL_SHININESS :: GLenum
pattern GL_SHORT :: GLenum
pattern GL_SINGLE_COLOR :: GLenum
pattern GL_SLUMINANCE :: GLenum
pattern GL_SLUMINANCE8 :: GLenum
pattern GL_SLUMINANCE8_ALPHA8 :: GLenum
pattern GL_SLUMINANCE_ALPHA :: GLenum
pattern GL_SMOOTH :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
pattern GL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
pattern GL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
pattern GL_SMOOTH_POINT_SIZE_RANGE :: GLenum
pattern GL_SOURCE0_ALPHA :: GLenum
pattern GL_SOURCE0_RGB :: GLenum
pattern GL_SOURCE1_ALPHA :: GLenum
pattern GL_SOURCE1_RGB :: GLenum
pattern GL_SOURCE2_ALPHA :: GLenum
pattern GL_SOURCE2_RGB :: GLenum
pattern GL_SPECULAR :: GLenum
pattern GL_SPHERE_MAP :: GLenum
pattern GL_SPOT_CUTOFF :: GLenum
pattern GL_SPOT_DIRECTION :: GLenum
pattern GL_SPOT_EXPONENT :: GLenum
pattern GL_SRC0_ALPHA :: GLenum
pattern GL_SRC0_RGB :: GLenum
pattern GL_SRC1_ALPHA :: GLenum
pattern GL_SRC1_RGB :: GLenum
pattern GL_SRC2_ALPHA :: GLenum
pattern GL_SRC2_RGB :: GLenum
pattern GL_SRC_ALPHA :: GLenum
pattern GL_SRC_ALPHA_SATURATE :: GLenum
pattern GL_SRC_COLOR :: GLenum
pattern GL_SRGB :: GLenum
pattern GL_SRGB8 :: GLenum
pattern GL_SRGB8_ALPHA8 :: GLenum
pattern GL_SRGB_ALPHA :: GLenum
pattern GL_STACK_OVERFLOW :: GLenum
pattern GL_STACK_UNDERFLOW :: GLenum
pattern GL_STATIC_COPY :: GLenum
pattern GL_STATIC_DRAW :: GLenum
pattern GL_STATIC_READ :: GLenum
pattern GL_STENCIL :: GLenum
pattern GL_STENCIL_BACK_FAIL :: GLenum
pattern GL_STENCIL_BACK_FUNC :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_BACK_REF :: GLenum
pattern GL_STENCIL_BACK_VALUE_MASK :: GLenum
pattern GL_STENCIL_BACK_WRITEMASK :: GLenum
pattern GL_STENCIL_BITS :: GLenum
pattern GL_STENCIL_BUFFER_BIT :: GLbitfield
pattern GL_STENCIL_CLEAR_VALUE :: GLenum
pattern GL_STENCIL_FAIL :: GLenum
pattern GL_STENCIL_FUNC :: GLenum
pattern GL_STENCIL_INDEX :: GLenum
pattern GL_STENCIL_PASS_DEPTH_FAIL :: GLenum
pattern GL_STENCIL_PASS_DEPTH_PASS :: GLenum
pattern GL_STENCIL_REF :: GLenum
pattern GL_STENCIL_TEST :: GLenum
pattern GL_STENCIL_VALUE_MASK :: GLenum
pattern GL_STENCIL_WRITEMASK :: GLenum
pattern GL_STEREO :: GLenum
pattern GL_STREAM_COPY :: GLenum
pattern GL_STREAM_DRAW :: GLenum
pattern GL_STREAM_READ :: GLenum
pattern GL_SUBPIXEL_BITS :: GLenum
pattern GL_SUBTRACT :: GLenum
pattern GL_T :: GLenum
pattern GL_T2F_C3F_V3F :: GLenum
pattern GL_T2F_C4F_N3F_V3F :: GLenum
pattern GL_T2F_C4UB_V3F :: GLenum
pattern GL_T2F_N3F_V3F :: GLenum
pattern GL_T2F_V3F :: GLenum
pattern GL_T4F_C4F_N3F_V4F :: GLenum
pattern GL_T4F_V4F :: GLenum
pattern GL_TEXTURE :: GLenum
pattern GL_TEXTURE0 :: GLenum
pattern GL_TEXTURE1 :: GLenum
pattern GL_TEXTURE10 :: GLenum
pattern GL_TEXTURE11 :: GLenum
pattern GL_TEXTURE12 :: GLenum
pattern GL_TEXTURE13 :: GLenum
pattern GL_TEXTURE14 :: GLenum
pattern GL_TEXTURE15 :: GLenum
pattern GL_TEXTURE16 :: GLenum
pattern GL_TEXTURE17 :: GLenum
pattern GL_TEXTURE18 :: GLenum
pattern GL_TEXTURE19 :: GLenum
pattern GL_TEXTURE2 :: GLenum
pattern GL_TEXTURE20 :: GLenum
pattern GL_TEXTURE21 :: GLenum
pattern GL_TEXTURE22 :: GLenum
pattern GL_TEXTURE23 :: GLenum
pattern GL_TEXTURE24 :: GLenum
pattern GL_TEXTURE25 :: GLenum
pattern GL_TEXTURE26 :: GLenum
pattern GL_TEXTURE27 :: GLenum
pattern GL_TEXTURE28 :: GLenum
pattern GL_TEXTURE29 :: GLenum
pattern GL_TEXTURE3 :: GLenum
pattern GL_TEXTURE30 :: GLenum
pattern GL_TEXTURE31 :: GLenum
pattern GL_TEXTURE4 :: GLenum
pattern GL_TEXTURE5 :: GLenum
pattern GL_TEXTURE6 :: GLenum
pattern GL_TEXTURE7 :: GLenum
pattern GL_TEXTURE8 :: GLenum
pattern GL_TEXTURE9 :: GLenum
pattern GL_TEXTURE_1D :: GLenum
pattern GL_TEXTURE_2D :: GLenum
pattern GL_TEXTURE_3D :: GLenum
pattern GL_TEXTURE_ALPHA_SIZE :: GLenum
pattern GL_TEXTURE_BASE_LEVEL :: GLenum
pattern GL_TEXTURE_BINDING_1D :: GLenum
pattern GL_TEXTURE_BINDING_2D :: GLenum
pattern GL_TEXTURE_BINDING_3D :: GLenum
pattern GL_TEXTURE_BINDING_CUBE_MAP :: GLenum
pattern GL_TEXTURE_BIT :: GLbitfield
pattern GL_TEXTURE_BLUE_SIZE :: GLenum
pattern GL_TEXTURE_BORDER :: GLenum
pattern GL_TEXTURE_BORDER_COLOR :: GLenum
pattern GL_TEXTURE_COMPARE_FUNC :: GLenum
pattern GL_TEXTURE_COMPARE_MODE :: GLenum
pattern GL_TEXTURE_COMPONENTS :: GLenum
pattern GL_TEXTURE_COMPRESSED :: GLenum
pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
pattern GL_TEXTURE_COMPRESSION_HINT :: GLenum
pattern GL_TEXTURE_COORD_ARRAY :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
pattern GL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
pattern GL_TEXTURE_CUBE_MAP :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
pattern GL_TEXTURE_DEPTH :: GLenum
pattern GL_TEXTURE_DEPTH_SIZE :: GLenum
pattern GL_TEXTURE_ENV :: GLenum
pattern GL_TEXTURE_ENV_COLOR :: GLenum
pattern GL_TEXTURE_ENV_MODE :: GLenum
pattern GL_TEXTURE_FILTER_CONTROL :: GLenum
pattern GL_TEXTURE_GEN_MODE :: GLenum
pattern GL_TEXTURE_GEN_Q :: GLenum
pattern GL_TEXTURE_GEN_R :: GLenum
pattern GL_TEXTURE_GEN_S :: GLenum
pattern GL_TEXTURE_GEN_T :: GLenum
pattern GL_TEXTURE_GREEN_SIZE :: GLenum
pattern GL_TEXTURE_HEIGHT :: GLenum
pattern GL_TEXTURE_INTENSITY_SIZE :: GLenum
pattern GL_TEXTURE_INTERNAL_FORMAT :: GLenum
pattern GL_TEXTURE_LOD_BIAS :: GLenum
pattern GL_TEXTURE_LUMINANCE_SIZE :: GLenum
pattern GL_TEXTURE_MAG_FILTER :: GLenum
pattern GL_TEXTURE_MATRIX :: GLenum
pattern GL_TEXTURE_MAX_LEVEL :: GLenum
pattern GL_TEXTURE_MAX_LOD :: GLenum
pattern GL_TEXTURE_MIN_FILTER :: GLenum
pattern GL_TEXTURE_MIN_LOD :: GLenum
pattern GL_TEXTURE_PRIORITY :: GLenum
pattern GL_TEXTURE_RED_SIZE :: GLenum
pattern GL_TEXTURE_RESIDENT :: GLenum
pattern GL_TEXTURE_STACK_DEPTH :: GLenum
pattern GL_TEXTURE_WIDTH :: GLenum
pattern GL_TEXTURE_WRAP_R :: GLenum
pattern GL_TEXTURE_WRAP_S :: GLenum
pattern GL_TEXTURE_WRAP_T :: GLenum
pattern GL_TRANSFORM_BIT :: GLbitfield
pattern GL_TRANSPOSE_COLOR_MATRIX :: GLenum
pattern GL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
pattern GL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
pattern GL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
pattern GL_TRIANGLES :: GLenum
pattern GL_TRIANGLE_FAN :: GLenum
pattern GL_TRIANGLE_STRIP :: GLenum
pattern GL_TRUE :: GLboolean
pattern GL_UNPACK_ALIGNMENT :: GLenum
pattern GL_UNPACK_IMAGE_HEIGHT :: GLenum
pattern GL_UNPACK_LSB_FIRST :: GLenum
pattern GL_UNPACK_ROW_LENGTH :: GLenum
pattern GL_UNPACK_SKIP_IMAGES :: GLenum
pattern GL_UNPACK_SKIP_PIXELS :: GLenum
pattern GL_UNPACK_SKIP_ROWS :: GLenum
pattern GL_UNPACK_SWAP_BYTES :: GLenum
pattern GL_UNSIGNED_BYTE :: GLenum
pattern GL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
pattern GL_UNSIGNED_BYTE_3_3_2 :: GLenum
pattern GL_UNSIGNED_INT :: GLenum
pattern GL_UNSIGNED_INT_10_10_10_2 :: GLenum
pattern GL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8 :: GLenum
pattern GL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
pattern GL_UNSIGNED_SHORT :: GLenum
pattern GL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
pattern GL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
pattern GL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5 :: GLenum
pattern GL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
pattern GL_UPPER_LEFT :: GLenum
pattern GL_V2F :: GLenum
pattern GL_V3F :: GLenum
pattern GL_VALIDATE_STATUS :: GLenum
pattern GL_VENDOR :: GLenum
pattern GL_VERSION :: GLenum
pattern GL_VERTEX_ARRAY :: GLenum
pattern GL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
pattern GL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
pattern GL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
pattern GL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
pattern GL_VERTEX_SHADER :: GLenum
pattern GL_VIEWPORT :: GLenum
pattern GL_VIEWPORT_BIT :: GLbitfield
pattern GL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
pattern GL_WRITE_ONLY :: GLenum
pattern GL_XOR :: GLenum
pattern GL_ZERO :: GLenum
pattern GL_ZOOM_X :: GLenum
pattern GL_ZOOM_Y :: GLenum

-- | Manual page for OpenGL 2.x.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for OpenGL 2.x.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3bv.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3dv.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3fv.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3iv.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3sv.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3ubv.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3uiv.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor3usv.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4bv.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4dv.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4fv.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4iv.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4sv.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4ubv.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4uiv.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glColor4usv.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEdgeFlagv.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glEnd :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glEndList :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1dv.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord1fv.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2dv.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glEvalCoord2fv.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFinish :: MonadIO m => m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFlush :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoorddv.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glFogCoordfv.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 4.x.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for OpenGL 2.x.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for OpenGL 2.x.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexdv.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexfv.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexiv.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexsv.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glIndexubv.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glInitNames :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for OpenGL 2.x.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for OpenGL 2.x.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual page for OpenGL 2.x.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1dv.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1fv.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1iv.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord1sv.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2dv.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2fv.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2iv.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord2sv.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3dv.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3fv.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3iv.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord3sv.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4dv.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4fv.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4iv.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glMultiTexCoord4sv.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3bv.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3dv.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3fv.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3iv.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glNormal3sv.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPopName :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for OpenGL 2.x.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for OpenGL 2.x.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2dv.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2fv.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2iv.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos2sv.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3dv.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3fv.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3iv.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos3sv.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4dv.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4fv.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4iv.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRasterPos4sv.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectdv.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectfv.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectiv.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glRectsv.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for OpenGL 2.x.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for OpenGL 2.x.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3bv.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3dv.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3fv.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3iv.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3sv.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3ubv.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3uiv.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glSecondaryColor3usv.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for OpenGL 2.x.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for OpenGL 2.x.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1dv.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1fv.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1iv.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord1sv.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2dv.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2fv.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2iv.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord2sv.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3dv.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3fv.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3iv.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord3sv.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4dv.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4fv.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4iv.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glTexCoord4sv.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2dv.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2fv.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2iv.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex2sv.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3dv.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3fv.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3iv.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex3sv.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4dv.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4fv.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4iv.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glVertex4sv.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1dv.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1fv.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib1sv.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2dv.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2fv.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib2sv.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3dv.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3fv.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib3sv.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4dv.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4fv.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x. The vector equivalent of this command is
--   glVertexAttrib4sv.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for OpenGL 2.x.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for OpenGL 2.x or OpenGL 3.x or OpenGL
--   4.x.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2dv.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2fv.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2iv.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos2sv.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3dv.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3fv.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3iv.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for OpenGL 2.x. The vector equivalent of this
--   command is glWindowPos3sv.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for OpenGL 2.x.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

module Graphics.GL.WIN.PhongShading

-- | Is the WIN_phong_shading extension supported?
glGetWINPhongShading :: MonadIO m => m Bool

-- | Is the WIN_phong_shading extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetWINPhongShading in those cases instead.
gl_WIN_phong_shading :: Bool
pattern GL_PHONG_HINT_WIN :: GLenum
pattern GL_PHONG_WIN :: GLenum

module Graphics.GL.WIN.SpecularFog

-- | Is the WIN_specular_fog extension supported?
glGetWINSpecularFog :: MonadIO m => m Bool

-- | Is the WIN_specular_fog extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use glGetWINSpecularFog in those cases instead.
gl_WIN_specular_fog :: Bool
pattern GL_FOG_SPECULAR_TEXTURE_WIN :: GLenum

-- | A convenience module, combining all raw modules containing WIN
--   extensions.
module Graphics.GL.WIN

-- | A convenience module, combining the latest OpenGL compatibility
--   profile plus all extensions.
module Graphics.GL
