-- 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 <a>http://www.opengl.org/</a>
--   and <a>http://www.opengl.org/registry/</a>.
@package OpenGLRaw
@version 3.3.4.1


-- | All enumeration groups from the <a>OpenGL registry</a>.
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 = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. Ptr () -> IO ()

-- | The storage associated with the resulting <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 = -- | @id@. GLuint -> -- | @category@. GLenum -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. Ptr () -> IO ()

-- | The storage associated with the resulting <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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

-- | <i>Deprecated: Use <a>makeGLDEBUGPROC</a> instead.</i>
mkGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)

-- | <i>Deprecated: Use <a>makeGLDEBUGPROCAMD</a> instead.</i>
mkGLDEBUGPROCAMD :: GLDEBUGPROCAMDFunc -> IO (FunPtr GLDEBUGPROCAMDFunc)

-- | <i>Deprecated: Use <tt>makekGLDEBUGPROCARB</tt> instead.</i>
mkGLDEBUGPROCARB :: GLDEBUGPROCARBFunc -> IO (FunPtr GLDEBUGPROCARBFunc)

-- | <i>Deprecated: Use <a>makeGLDEBUGPROCKHR</a> instead.</i>
mkGLDEBUGPROCKHR :: GLDEBUGPROCKHRFunc -> IO (FunPtr GLDEBUGPROCKHRFunc)


-- | All enumeration tokens from the <a>OpenGL registry</a>.
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 <tt>glXGetProcAddress</tt>,
--   <tt>wglGetProcAddress</tt> or <tt>NSAddressOfSymbol</tt>.
--   
--   Note that <i>finding</i> an OpenGL entry point doesn't mean that it's
--   actually <i>usable:</i> 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 <a>nullFunPtr</a> 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 <a>nullFunPtr</a> 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 <a>nullFunPtr</a> 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 <a>userError</a> 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 <a>userError</a> 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 <a>userError</a> 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 <a>getVersion</a> 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 <a>getExtensions</a> in those cases instead.
extensions :: Set String


module Graphics.GL.ThreeDFX.TextureCompressionFXT1

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

-- | Is the <a>3DFX_texture_compression_FXT1</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetThreeDFXTextureCompressionFXT1</a> 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 <a>3DFX_multisample</a> extension supported?
glGetThreeDFXMultisample :: MonadIO m => m Bool

-- | Is the <a>3DFX_multisample</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetThreeDFXMultisample</a> 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 <a>SUN_slice_accum</a> extension supported?
glGetSUNSliceAccum :: MonadIO m => m Bool

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


module Graphics.GL.SUN.ConvolutionBorderModes

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

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


module Graphics.GL.SGIX.YCrCbA

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

-- | Is the <a>SGIX_ycrcba</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXYCrCbA</a> 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 <a>SGIX_ycrcb</a> extension supported?
glGetSGIXYCrCb :: MonadIO m => m Bool

-- | Is the <a>SGIX_ycrcb</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXYCrCb</a> 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 <a>SGIX_vertex_preclip</a> extension supported?
glGetSGIXVertexPreclip :: MonadIO m => m Bool

-- | Is the <a>SGIX_vertex_preclip</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXVertexPreclip</a> 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 <a>SGIX_texture_scale_bias</a> extension supported?
glGetSGIXTextureScaleBias :: MonadIO m => m Bool

-- | Is the <a>SGIX_texture_scale_bias</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXTextureScaleBias</a> 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 <a>SGIX_texture_multi_buffer</a> extension supported?
glGetSGIXTextureMultiBuffer :: MonadIO m => m Bool

-- | Is the <a>SGIX_texture_multi_buffer</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXTextureMultiBuffer</a> 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 <a>SGIX_texture_lod_bias</a> extension supported?
glGetSGIXTextureLODBias :: MonadIO m => m Bool

-- | Is the <a>SGIX_texture_lod_bias</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXTextureLODBias</a> 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 <a>SGIX_texture_coordinate_clamp</a> extension supported?
glGetSGIXTextureCoordinateClamp :: MonadIO m => m Bool

-- | Is the <a>SGIX_texture_coordinate_clamp</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetSGIXTextureCoordinateClamp</a> 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 <a>SGIX_texture_add_env</a> extension supported?
glGetSGIXTextureAddEnv :: MonadIO m => m Bool

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


module Graphics.GL.SGIX.Subsample

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

-- | Is the <a>SGIX_subsample</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXSubsample</a> 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 <a>SGIX_shadow_ambient</a> extension supported?
glGetSGIXShadowAmbient :: MonadIO m => m Bool

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


module Graphics.GL.SGIX.Shadow

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

-- | Is the <a>SGIX_shadow</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXShadow</a> 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 <a>SGIX_scalebias_hint</a> extension supported?
glGetSGIXScalebiasHint :: MonadIO m => m Bool

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


module Graphics.GL.SGIX.Resample

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

-- | Is the <a>SGIX_resample</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXResample</a> 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 <a>SGIX_pixel_tiles</a> extension supported?
glGetSGIXPixelTiles :: MonadIO m => m Bool

-- | Is the <a>SGIX_pixel_tiles</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXPixelTiles</a> 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 <a>SGIX_ir_instrument1</a> extension supported?
glGetSGIXIrInstrument1 :: MonadIO m => m Bool

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


module Graphics.GL.SGIX.Interlace

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

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


module Graphics.GL.SGIX.FogOffset

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

-- | Is the <a>SGIX_fog_offset</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXFogOffset</a> 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 <a>SGIX_depth_texture</a> extension supported?
glGetSGIXDepthTexture :: MonadIO m => m Bool

-- | Is the <a>SGIX_depth_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXDepthTexture</a> 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 <a>SGIX_convolution_accuracy</a> extension supported?
glGetSGIXConvolutionAccuracy :: MonadIO m => m Bool

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


module Graphics.GL.SGIX.Clipmap

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

-- | Is the <a>SGIX_clipmap</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXClipmap</a> 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 <a>SGIX_calligraphic_fragment</a> extension supported?
glGetSGIXCalligraphicFragment :: MonadIO m => m Bool

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


module Graphics.GL.SGIX.BlendAlphaMinmax

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

-- | Is the <a>SGIX_blend_alpha_minmax</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXBlendAlphaMinmax</a> 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 <a>SGIX_async_pixel</a> extension supported?
glGetSGIXAsyncPixel :: MonadIO m => m Bool

-- | Is the <a>SGIX_async_pixel</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXAsyncPixel</a> 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 <a>SGIX_async_histogram</a> extension supported?
glGetSGIXAsyncHistogram :: MonadIO m => m Bool

-- | Is the <a>SGIX_async_histogram</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXAsyncHistogram</a> 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 <a>SGIS_texture_select</a> extension supported?
glGetSGISTextureSelect :: MonadIO m => m Bool

-- | Is the <a>SGIS_texture_select</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGISTextureSelect</a> 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 <a>SGIS_texture_lod</a> extension supported?
glGetSGISTextureLOD :: MonadIO m => m Bool

-- | Is the <a>SGIS_texture_lod</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGISTextureLOD</a> 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 <a>SGIS_texture_edge_clamp</a> extension supported?
glGetSGISTextureEdgeClamp :: MonadIO m => m Bool

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


module Graphics.GL.SGIS.TextureBorderClamp

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

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


module Graphics.GL.SGIS.PointLineTexgen

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

-- | Is the <a>SGIS_point_line_texgen</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGISPointLineTexgen</a> 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 <a>SGIS_generate_mipmap</a> extension supported?
glGetSGISGenerateMipmap :: MonadIO m => m Bool

-- | Is the <a>SGIS_generate_mipmap</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGISGenerateMipmap</a> 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 <a>SGI_texture_color_table</a> extension supported?
glGetSGITextureColorTable :: MonadIO m => m Bool

-- | Is the <a>SGI_texture_color_table</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGITextureColorTable</a> 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 <a>SGI_color_matrix</a> extension supported?
glGetSGIColorMatrix :: MonadIO m => m Bool

-- | Is the <a>SGI_color_matrix</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIColorMatrix</a> 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 <a>S3_s3tc</a> extension supported?
glGetS3S3TC :: MonadIO m => m Bool

-- | Is the <a>S3_s3tc</a> extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use <a>glGetS3S3TC</a> 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 <a>REND_screen_coordinates</a> extension supported?
glGetRENDScreenCoordinates :: MonadIO m => m Bool

-- | Is the <a>REND_screen_coordinates</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetRENDScreenCoordinates</a> 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 <a>PGI_vertex_hints</a> extension supported?
glGetPGIVertexHints :: MonadIO m => m Bool

-- | Is the <a>PGI_vertex_hints</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetPGIVertexHints</a> 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 <a>OML_subsample</a> extension supported?
glGetOMLSubsample :: MonadIO m => m Bool

-- | Is the <a>OML_subsample</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetOMLSubsample</a> 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 <a>OML_resample</a> extension supported?
glGetOMLResample :: MonadIO m => m Bool

-- | Is the <a>OML_resample</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetOMLResample</a> 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 <a>OML_interlace</a> extension supported?
glGetOMLInterlace :: MonadIO m => m Bool

-- | Is the <a>OML_interlace</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetOMLInterlace</a> 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 <a>OES_read_format</a> extension supported?
glGetOESReadFormat :: MonadIO m => m Bool

-- | Is the <a>OES_read_format</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetOESReadFormat</a> 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 <a>OES_compressed_paletted_texture</a> extension supported?
glGetOESCompressedPalettedTexture :: MonadIO m => m Bool

-- | Is the <a>OES_compressed_paletted_texture</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetOESCompressedPalettedTexture</a> 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 <a>NVX_gpu_memory_info</a> extension supported?
glGetNVXGPUMemoryInfo :: MonadIO m => m Bool

-- | Is the <a>NVX_gpu_memory_info</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVXGPUMemoryInfo</a> 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 <a>NV_vertex_program3</a> extension supported?
glGetNVVertexProgram3 :: MonadIO m => m Bool

-- | Is the <a>NV_vertex_program3</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVVertexProgram3</a> 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 <a>NV_vertex_program2_option</a> extension supported?
glGetNVVertexProgram2Option :: MonadIO m => m Bool

-- | Is the <a>NV_vertex_program2_option</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVVertexProgram2Option</a> 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 <a>NV_vertex_array_range2</a> extension supported?
glGetNVVertexArrayRange2 :: MonadIO m => m Bool

-- | Is the <a>NV_vertex_array_range2</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVVertexArrayRange2</a> 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 <a>NV_uniform_buffer_unified_memory</a> extension supported?
glGetNVUniformBufferUnifiedMemory :: MonadIO m => m Bool

-- | Is the <a>NV_uniform_buffer_unified_memory</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetNVUniformBufferUnifiedMemory</a> 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 <a>NV_texture_shader3</a> extension supported?
glGetNVTextureShader3 :: MonadIO m => m Bool

-- | Is the <a>NV_texture_shader3</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVTextureShader3</a> 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 <a>NV_texture_shader2</a> extension supported?
glGetNVTextureShader2 :: MonadIO m => m Bool

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


module Graphics.GL.NV.TextureShader

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

-- | Is the <a>NV_texture_shader</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVTextureShader</a> 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 <a>NV_texture_rectangle</a> extension supported?
glGetNVTextureRectangle :: MonadIO m => m Bool

-- | Is the <a>NV_texture_rectangle</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVTextureRectangle</a> 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 <a>NV_texture_expand_normal</a> extension supported?
glGetNVTextureExpandNormal :: MonadIO m => m Bool

-- | Is the <a>NV_texture_expand_normal</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVTextureExpandNormal</a> 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 <a>NV_texture_env_combine4</a> extension supported?
glGetNVTextureEnvCombine4 :: MonadIO m => m Bool

-- | Is the <a>NV_texture_env_combine4</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVTextureEnvCombine4</a> 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 <a>NV_texgen_reflection</a> extension supported?
glGetNVTexgenReflection :: MonadIO m => m Bool

-- | Is the <a>NV_texgen_reflection</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVTexgenReflection</a> 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 <a>NV_texgen_emboss</a> extension supported?
glGetNVTexgenEmboss :: MonadIO m => m Bool

-- | Is the <a>NV_texgen_emboss</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVTexgenEmboss</a> 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 <a>NV_tessellation_program5</a> extension supported?
glGetNVTessellationProgram5 :: MonadIO m => m Bool

-- | Is the <a>NV_tessellation_program5</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVTessellationProgram5</a> 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 <a>NV_shader_thread_group</a> extension supported?
glGetNVShaderThreadGroup :: MonadIO m => m Bool

-- | Is the <a>NV_shader_thread_group</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVShaderThreadGroup</a> 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 <a>NV_shader_subgroup_partitioned</a> extension supported?
glGetNVShaderSubgroupPartitioned :: MonadIO m => m Bool

-- | Is the <a>NV_shader_subgroup_partitioned</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetNVShaderSubgroupPartitioned</a> 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 <a>NV_shader_buffer_store</a> extension supported?
glGetNVShaderBufferStore :: MonadIO m => m Bool

-- | Is the <a>NV_shader_buffer_store</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVShaderBufferStore</a> 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 <a>NV_robustness_video_memory_purge</a> extension supported?
glGetNVRobustnessVideoMemoryPurge :: MonadIO m => m Bool

-- | Is the <a>NV_robustness_video_memory_purge</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetNVRobustnessVideoMemoryPurge</a> 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 <a>NV_representative_fragment_test</a> extension supported?
glGetNVRepresentativeFragmentTest :: MonadIO m => m Bool

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


module Graphics.GL.NV.PathRenderingSharedEdge

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

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


module Graphics.GL.NV.PackedDepthStencil

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

-- | Is the <a>NV_packed_depth_stencil</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVPackedDepthStencil</a> 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 <a>NV_multisample_filter_hint</a> extension supported?
glGetNVMultisampleFilterHint :: MonadIO m => m Bool

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


module Graphics.GL.NV.MultisampleCoverage

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

-- | Is the <a>NV_multisample_coverage</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVMultisampleCoverage</a> 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 <a>NV_light_max_exponent</a> extension supported?
glGetNVLightMaxExponent :: MonadIO m => m Bool

-- | Is the <a>NV_light_max_exponent</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVLightMaxExponent</a> 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 <a>NV_fragment_program2</a> extension supported?
glGetNVFragmentProgram2 :: MonadIO m => m Bool

-- | Is the <a>NV_fragment_program2</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVFragmentProgram2</a> 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 <a>NV_fog_distance</a> extension supported?
glGetNVFogDistance :: MonadIO m => m Bool

-- | Is the <a>NV_fog_distance</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVFogDistance</a> 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 <a>NV_float_buffer</a> extension supported?
glGetNVFloatBuffer :: MonadIO m => m Bool

-- | Is the <a>NV_float_buffer</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVFloatBuffer</a> 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 <a>NV_fill_rectangle</a> extension supported?
glGetNVFillRectangle :: MonadIO m => m Bool

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


module Graphics.GL.NV.DepthClamp

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

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


module Graphics.GL.NV.DeepTexture3D

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

-- | Is the <a>NV_deep_texture3D</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVDeepTexture3D</a> 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 <a>NV_copy_depth_to_color</a> extension supported?
glGetNVCopyDepthToColor :: MonadIO m => m Bool

-- | Is the <a>NV_copy_depth_to_color</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVCopyDepthToColor</a> 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 <a>NV_conservative_raster_pre_snap</a> extension supported?
glGetNVConservativeRasterPreSnap :: MonadIO m => m Bool

-- | Is the <a>NV_conservative_raster_pre_snap</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetNVConservativeRasterPreSnap</a> 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 <a>NV_compute_program5</a> extension supported?
glGetNVComputeProgram5 :: MonadIO m => m Bool

-- | Is the <a>NV_compute_program5</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVComputeProgram5</a> 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 <a>NV_blend_minmax_factor</a> extension supported?
glGetNVBlendMinmaxFactor :: MonadIO m => m Bool

-- | Is the <a>NV_blend_minmax_factor</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVBlendMinmaxFactor</a> 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 <a>NV_blend_equation_advanced_coherent</a> extension supported?
glGetNVBlendEquationAdvancedCoherent :: MonadIO m => m Bool

-- | Is the <a>NV_blend_equation_advanced_coherent</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetNVBlendEquationAdvancedCoherent</a> 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 <a>MESAX_texture_stack</a> extension supported?
glGetMESAXTextureStack :: MonadIO m => m Bool

-- | Is the <a>MESAX_texture_stack</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetMESAXTextureStack</a> 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 <a>MESA_ycbcr_texture</a> extension supported?
glGetMESAYCbCrTexture :: MonadIO m => m Bool

-- | Is the <a>MESA_ycbcr_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetMESAYCbCrTexture</a> 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 <a>MESA_tile_raster_order</a> extension supported?
glGetMESATileRasterOrder :: MonadIO m => m Bool

-- | Is the <a>MESA_tile_raster_order</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetMESATileRasterOrder</a> 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 <a>MESA_program_binary_formats</a> extension supported?
glGetMESAProgramBinaryFormats :: MonadIO m => m Bool

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


module Graphics.GL.MESA.PackInvert

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

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


module Graphics.GL.KHR.TextureCompressionASTCLDR

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

-- | Is the <a>KHR_texture_compression_astc_ldr</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetKHRTextureCompressionASTCLDR</a> 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 <a>KHR_texture_compression_astc_hdr</a> extension supported?
glGetKHRTextureCompressionASTCHDR :: MonadIO m => m Bool

-- | Is the <a>KHR_texture_compression_astc_hdr</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetKHRTextureCompressionASTCHDR</a> 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 <a>KHR_shader_subgroup</a> extension supported?
glGetKHRShaderSubgroup :: MonadIO m => m Bool

-- | Is the <a>KHR_shader_subgroup</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetKHRShaderSubgroup</a> 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 <a>KHR_no_error</a> extension supported?
glGetKHRNoError :: MonadIO m => m Bool

-- | Is the <a>KHR_no_error</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetKHRNoError</a> 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 <a>KHR_context_flush_control</a> extension supported?
glGetKHRContextFlushControl :: MonadIO m => m Bool

-- | Is the <a>KHR_context_flush_control</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetKHRContextFlushControl</a> 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 <a>KHR_blend_equation_advanced_coherent</a> extension
--   supported?
glGetKHRBlendEquationAdvancedCoherent :: MonadIO m => m Bool

-- | Is the <a>KHR_blend_equation_advanced_coherent</a> extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   <a>glGetKHRBlendEquationAdvancedCoherent</a> 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 <a>INTEL_conservative_rasterization</a> extension supported?
glGetINTELConservativeRasterization :: MonadIO m => m Bool

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


module Graphics.GL.INTEL.BlackholeRender

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

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


module Graphics.GL.INGR.InterlaceRead

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

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


module Graphics.GL.INGR.ColorClamp

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

-- | Is the <a>INGR_color_clamp</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetINGRColorClamp</a> 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 <a>IBM_texture_mirrored_repeat</a> extension supported?
glGetIBMTextureMirroredRepeat :: MonadIO m => m Bool

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


module Graphics.GL.IBM.RasterposClip

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

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


module Graphics.GL.IBM.CullVertex

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

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


module Graphics.GL.HP.TextureLighting

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

-- | Is the <a>HP_texture_lighting</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetHPTextureLighting</a> 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 <a>HP_occlusion_test</a> extension supported?
glGetHPOcclusionTest :: MonadIO m => m Bool

-- | Is the <a>HP_occlusion_test</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetHPOcclusionTest</a> 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 <a>HP_convolution_border_modes</a> extension supported?
glGetHPConvolutionBorderModes :: MonadIO m => m Bool

-- | Is the <a>HP_convolution_border_modes</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetHPConvolutionBorderModes</a> 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 <a>EXT_vertex_array_bgra</a> extension supported?
glGetEXTVertexArrayBGRA :: MonadIO m => m Bool

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


module Graphics.GL.EXT.TextureSwizzle

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

-- | Is the <a>EXT_texture_swizzle</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureSwizzle</a> 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 <a>EXT_texture_shared_exponent</a> extension supported?
glGetEXTTextureSharedExponent :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_shared_exponent</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTTextureSharedExponent</a> 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 <a>EXT_texture_sRGB_R8</a> extension supported?
glGetEXTTextureSRGBR8 :: MonadIO m => m Bool

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


module Graphics.GL.EXT.TextureSRGBDecode

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

-- | Is the <a>EXT_texture_sRGB_decode</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureSRGBDecode</a> 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 <a>EXT_texture_sRGB</a> extension supported?
glGetEXTTextureSRGB :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_sRGB</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTTextureSRGB</a> 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 <a>EXT_texture_snorm</a> extension supported?
glGetEXTTextureSNorm :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_snorm</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTTextureSNorm</a> 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 <a>EXT_texture_mirror_clamp</a> extension supported?
glGetEXTTextureMirrorClamp :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_mirror_clamp</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureMirrorClamp</a> 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 <a>EXT_texture_lod_bias</a> extension supported?
glGetEXTTextureLODBias :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_lod_bias</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureLODBias</a> 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 <a>EXT_texture_filter_minmax</a> extension supported?
glGetEXTTextureFilterMinmax :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_filter_minmax</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureFilterMinmax</a> 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 <a>EXT_texture_filter_anisotropic</a> extension supported?
glGetEXTTextureFilterAnisotropic :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_filter_anisotropic</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTTextureFilterAnisotropic</a> 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 <a>EXT_texture_env_dot3</a> extension supported?
glGetEXTTextureEnvDot3 :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_env_dot3</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureEnvDot3</a> 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 <a>EXT_texture_env_combine</a> extension supported?
glGetEXTTextureEnvCombine :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_env_combine</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureEnvCombine</a> 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 <a>EXT_texture_cube_map</a> extension supported?
glGetEXTTextureCubeMap :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_cube_map</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureCubeMap</a> 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 <a>EXT_texture_compression_s3tc</a> extension supported?
glGetEXTTextureCompressionS3TC :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_compression_s3tc</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTTextureCompressionS3TC</a> 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 <a>EXT_texture_compression_rgtc</a> extension supported?
glGetEXTTextureCompressionRGTC :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_compression_rgtc</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTTextureCompressionRGTC</a> 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 <a>EXT_texture_compression_latc</a> extension supported?
glGetEXTTextureCompressionLATC :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_compression_latc</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTTextureCompressionLATC</a> 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 <a>EXT_texture</a> extension supported?
glGetEXTTexture :: MonadIO m => m Bool

-- | Is the <a>EXT_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTTexture</a> 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 <a>EXT_stencil_wrap</a> extension supported?
glGetEXTStencilWrap :: MonadIO m => m Bool

-- | Is the <a>EXT_stencil_wrap</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTStencilWrap</a> 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 <a>EXT_shared_texture_palette</a> extension supported?
glGetEXTSharedTexturePalette :: MonadIO m => m Bool

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


module Graphics.GL.EXT.ShaderFramebufferFetch

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

-- | Is the <a>EXT_shader_framebuffer_fetch</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTShaderFramebufferFetch</a> 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 <a>EXT_separate_specular_color</a> extension supported?
glGetEXTSeparateSpecularColor :: MonadIO m => m Bool

-- | Is the <a>EXT_separate_specular_color</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTSeparateSpecularColor</a> 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 <a>EXT_rescale_normal</a> extension supported?
glGetEXTRescaleNormal :: MonadIO m => m Bool

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


module Graphics.GL.EXT.PixelBufferObject

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

-- | Is the <a>EXT_pixel_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTPixelBufferObject</a> 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 <a>EXT_packed_pixels</a> extension supported?
glGetEXTPackedPixels :: MonadIO m => m Bool

-- | Is the <a>EXT_packed_pixels</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTPackedPixels</a> 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 <a>EXT_packed_float</a> extension supported?
glGetEXTPackedFloat :: MonadIO m => m Bool

-- | Is the <a>EXT_packed_float</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTPackedFloat</a> 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 <a>EXT_packed_depth_stencil</a> extension supported?
glGetEXTPackedDepthStencil :: MonadIO m => m Bool

-- | Is the <a>EXT_packed_depth_stencil</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTPackedDepthStencil</a> 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 <a>EXT_index_array_formats</a> extension supported?
glGetEXTIndexArrayFormats :: MonadIO m => m Bool

-- | Is the <a>EXT_index_array_formats</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTIndexArrayFormats</a> 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 <a>EXT_framebuffer_sRGB</a> extension supported?
glGetEXTFramebufferSRGB :: MonadIO m => m Bool

-- | Is the <a>EXT_framebuffer_sRGB</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTFramebufferSRGB</a> 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 <a>EXT_framebuffer_multisample_blit_scaled</a> extension
--   supported?
glGetEXTFramebufferMultisampleBlitScaled :: MonadIO m => m Bool

-- | Is the <a>EXT_framebuffer_multisample_blit_scaled</a> extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   <a>glGetEXTFramebufferMultisampleBlitScaled</a> 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 <a>EXT_422_pixels</a> extension supported?
glGetEXTFourTwoTwoPixels :: MonadIO m => m Bool

-- | Is the <a>EXT_422_pixels</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTFourTwoTwoPixels</a> 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 <a>EXT_clip_volume_hint</a> extension supported?
glGetEXTClipVolumeHint :: MonadIO m => m Bool

-- | Is the <a>EXT_clip_volume_hint</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTClipVolumeHint</a> 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 <a>EXT_cmyka</a> extension supported?
glGetEXTCMYKA :: MonadIO m => m Bool

-- | Is the <a>EXT_cmyka</a> extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use <a>glGetEXTCMYKA</a> 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 <a>EXT_blend_subtract</a> extension supported?
glGetEXTBlendSubtract :: MonadIO m => m Bool

-- | Is the <a>EXT_blend_subtract</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTBlendSubtract</a> 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 <a>EXT_bgra</a> extension supported?
glGetEXTBGRA :: MonadIO m => m Bool

-- | Is the <a>EXT_bgra</a> extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use <a>glGetEXTBGRA</a> 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 <a>EXT_abgr</a> extension supported?
glGetEXTABGR :: MonadIO m => m Bool

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


module Graphics.GL.ATI.TextureMirrorOnce

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

-- | Is the <a>ATI_texture_mirror_once</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetATITextureMirrorOnce</a> 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 <a>ATI_texture_float</a> extension supported?
glGetATITextureFloat :: MonadIO m => m Bool

-- | Is the <a>ATI_texture_float</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetATITextureFloat</a> 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 <a>ATI_texture_env_combine3</a> extension supported?
glGetATITextureEnvCombine3 :: MonadIO m => m Bool

-- | Is the <a>ATI_texture_env_combine3</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetATITextureEnvCombine3</a> 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 <a>ATI_text_fragment_shader</a> extension supported?
glGetATITextFragmentShader :: MonadIO m => m Bool

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


module Graphics.GL.ATI.PixelFormatFloat

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

-- | Is the <a>ATI_pixel_format_float</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetATIPixelFormatFloat</a> 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 <a>ATI_meminfo</a> extension supported?
glGetATIMeminfo :: MonadIO m => m Bool

-- | Is the <a>ATI_meminfo</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetATIMeminfo</a> 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 <a>ARB_vertex_type_10f_11f_11f_rev</a> extension supported?
glGetARBVertexType10f11f11fRev :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_type_10f_11f_11f_rev</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBVertexType10f11f11fRev</a> 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 <a>ARB_vertex_array_bgra</a> extension supported?
glGetARBVertexArrayBGRA :: MonadIO m => m Bool

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


module Graphics.GL.ARB.TransformFeedbackOverflowQuery

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

-- | Is the <a>ARB_transform_feedback_overflow_query</a> extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   <a>glGetARBTransformFeedbackOverflowQuery</a> 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 <a>ARB_texture_swizzle</a> extension supported?
glGetARBTextureSwizzle :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_swizzle</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureSwizzle</a> 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 <a>ARB_texture_stencil8</a> extension supported?
glGetARBTextureStencil8 :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_stencil8</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureStencil8</a> 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 <a>ARB_texture_rectangle</a> extension supported?
glGetARBTextureRectangle :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_rectangle</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureRectangle</a> 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 <a>ARB_texture_rgb10_a2ui</a> extension supported?
glGetARBTextureRGB10A2UI :: MonadIO m => m Bool

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


module Graphics.GL.ARB.TextureRG

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

-- | Is the <a>ARB_texture_rg</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBTextureRG</a> 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 <a>ARB_texture_mirrored_repeat</a> extension supported?
glGetARBTextureMirroredRepeat :: MonadIO m => m Bool

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


module Graphics.GL.ARB.TextureMirrorClampToEdge

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

-- | Is the <a>ARB_texture_mirror_clamp_to_edge</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBTextureMirrorClampToEdge</a> 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 <a>ARB_texture_gather</a> extension supported?
glGetARBTextureGather :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_gather</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBTextureGather</a> 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 <a>ARB_texture_float</a> extension supported?
glGetARBTextureFloat :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_float</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBTextureFloat</a> 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 <a>ARB_texture_filter_minmax</a> extension supported?
glGetARBTextureFilterMinmax :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_filter_minmax</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureFilterMinmax</a> 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 <a>ARB_texture_filter_anisotropic</a> extension supported?
glGetARBTextureFilterAnisotropic :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_filter_anisotropic</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBTextureFilterAnisotropic</a> 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 <a>ARB_texture_env_dot3</a> extension supported?
glGetARBTextureEnvDot3 :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_env_dot3</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureEnvDot3</a> 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 <a>ARB_texture_env_combine</a> extension supported?
glGetARBTextureEnvCombine :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_env_combine</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureEnvCombine</a> 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 <a>ARB_texture_cube_map_array</a> extension supported?
glGetARBTextureCubeMapArray :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_cube_map_array</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBTextureCubeMapArray</a> 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 <a>ARB_texture_cube_map</a> extension supported?
glGetARBTextureCubeMap :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_cube_map</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureCubeMap</a> 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 <a>ARB_texture_compression_rgtc</a> extension supported?
glGetARBTextureCompressionRGTC :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_compression_rgtc</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBTextureCompressionRGTC</a> 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 <a>ARB_texture_compression_bptc</a> extension supported?
glGetARBTextureCompressionBPTC :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_compression_bptc</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBTextureCompressionBPTC</a> 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 <a>ARB_texture_buffer_object_rgb32</a> extension supported?
glGetARBTextureBufferObjectRGB32 :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_buffer_object_rgb32</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBTextureBufferObjectRGB32</a> 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 <a>ARB_texture_border_clamp</a> extension supported?
glGetARBTextureBorderClamp :: MonadIO m => m Bool

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


module Graphics.GL.ARB.StencilTexturing

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

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


module Graphics.GL.ARB.SpirvExtensions

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

-- | Is the <a>ARB_spirv_extensions</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBSpirvExtensions</a> 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 <a>ARB_shadow_ambient</a> extension supported?
glGetARBShadowAmbient :: MonadIO m => m Bool

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


module Graphics.GL.ARB.Shadow

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

-- | Is the <a>ARB_shadow</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBShadow</a> 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 <a>ARB_shading_language_100</a> extension supported?
glGetARBShadingLanguage100 :: MonadIO m => m Bool

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


module Graphics.GL.ARB.SeamlessCubemapPerTexture

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

-- | Is the <a>ARB_seamless_cubemap_per_texture</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBSeamlessCubemapPerTexture</a> 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 <a>ARB_seamless_cube_map</a> extension supported?
glGetARBSeamlessCubeMap :: MonadIO m => m Bool

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


module Graphics.GL.ARB.QueryBufferObject

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

-- | Is the <a>ARB_query_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBQueryBufferObject</a> 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 <a>ARB_point_sprite</a> extension supported?
glGetARBPointSprite :: MonadIO m => m Bool

-- | Is the <a>ARB_point_sprite</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBPointSprite</a> 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 <a>ARB_pixel_buffer_object</a> extension supported?
glGetARBPixelBufferObject :: MonadIO m => m Bool

-- | Is the <a>ARB_pixel_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBPixelBufferObject</a> 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 <a>ARB_pipeline_statistics_query</a> extension supported?
glGetARBPipelineStatisticsQuery :: MonadIO m => m Bool

-- | Is the <a>ARB_pipeline_statistics_query</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBPipelineStatisticsQuery</a> 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 <a>ARB_occlusion_query2</a> extension supported?
glGetARBOcclusionQuery2 :: MonadIO m => m Bool

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


module Graphics.GL.ARB.MapBufferAlignment

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

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


module Graphics.GL.ARB.GPUShader5

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

-- | Is the <a>ARB_gpu_shader5</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBGPUShader5</a> 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 <a>ARB_framebuffer_sRGB</a> extension supported?
glGetARBFramebufferSRGB :: MonadIO m => m Bool

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


module Graphics.GL.ARB.FragmentShader

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

-- | Is the <a>ARB_fragment_shader</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBFragmentShader</a> 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 <a>ARB_explicit_uniform_location</a> extension supported?
glGetARBExplicitUniformLocation :: MonadIO m => m Bool

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


module Graphics.GL.ARB.EnhancedLayouts

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

-- | Is the <a>ARB_enhanced_layouts</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBEnhancedLayouts</a> 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 <a>ARB_ES3_compatibility</a> extension supported?
glGetARBES3Compatibility :: MonadIO m => m Bool

-- | Is the <a>ARB_ES3_compatibility</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBES3Compatibility</a> 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 <a>ARB_depth_texture</a> extension supported?
glGetARBDepthTexture :: MonadIO m => m Bool

-- | Is the <a>ARB_depth_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBDepthTexture</a> 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 <a>ARB_depth_clamp</a> extension supported?
glGetARBDepthClamp :: MonadIO m => m Bool

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


module Graphics.GL.ARB.DepthBufferFloat

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

-- | Is the <a>ARB_depth_buffer_float</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBDepthBufferFloat</a> 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 <a>ARB_cull_distance</a> extension supported?
glGetARBCullDistance :: MonadIO m => m Bool

-- | Is the <a>ARB_cull_distance</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBCullDistance</a> 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 <a>ARB_conditional_render_inverted</a> extension supported?
glGetARBConditionalRenderInverted :: MonadIO m => m Bool

-- | Is the <a>ARB_conditional_render_inverted</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBConditionalRenderInverted</a> 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 <a>ARB_compressed_texture_pixel_storage</a> extension
--   supported?
glGetARBCompressedTexturePixelStorage :: MonadIO m => m Bool

-- | Is the <a>ARB_compressed_texture_pixel_storage</a> extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   <a>glGetARBCompressedTexturePixelStorage</a> 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 <a>APPLE_ycbcr_422</a> extension supported?
glGetAPPLEYCbCr422 :: MonadIO m => m Bool

-- | Is the <a>APPLE_ycbcr_422</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetAPPLEYCbCr422</a> 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 <a>APPLE_transform_hint</a> extension supported?
glGetAPPLETransformHint :: MonadIO m => m Bool

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


module Graphics.GL.APPLE.SpecularVector

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

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


module Graphics.GL.APPLE.RowBytes

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

-- | Is the <a>APPLE_row_bytes</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetAPPLERowBytes</a> 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 <a>APPLE_rgb_422</a> extension supported?
glGetAPPLERGB422 :: MonadIO m => m Bool

-- | Is the <a>APPLE_rgb_422</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetAPPLERGB422</a> 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 <a>APPLE_float_pixels</a> extension supported?
glGetAPPLEFloatPixels :: MonadIO m => m Bool

-- | Is the <a>APPLE_float_pixels</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetAPPLEFloatPixels</a> 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 <a>APPLE_client_storage</a> extension supported?
glGetAPPLEClientStorage :: MonadIO m => m Bool

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


module Graphics.GL.APPLE.AuxDepthStencil

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

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


module Graphics.GL.AMD.TransformFeedback4

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

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


module Graphics.GL.AMD.SeamlessCubemapPerTexture

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

-- | Is the <a>AMD_seamless_cubemap_per_texture</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetAMDSeamlessCubemapPerTexture</a> 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 <a>AMD_query_buffer_object</a> extension supported?
glGetAMDQueryBufferObject :: MonadIO m => m Bool

-- | Is the <a>AMD_query_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDQueryBufferObject</a> 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 <a>AMD_pinned_memory</a> extension supported?
glGetAMDPinnedMemory :: MonadIO m => m Bool

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


module Graphics.GL.AMD.GPUShaderHalfFloat

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

-- | Is the <a>AMD_gpu_shader_half_float</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDGPUShaderHalfFloat</a> 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 <a>AMD_depth_clamp_separate</a> extension supported?
glGetAMDDepthClampSeparate :: MonadIO m => m Bool

-- | Is the <a>AMD_depth_clamp_separate</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDDepthClampSeparate</a> 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 <a>AMD_blend_minmax_factor</a> extension supported?
glGetAMDBlendMinmaxFactor :: MonadIO m => m Bool

-- | Is the <a>AMD_blend_minmax_factor</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDBlendMinmaxFactor</a> 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 <a>OpenGL registry</a>.
module Graphics.GL.Functions

-- | Manual page for <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()
glAccumxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glAcquireKeyedMutexWin32EXT :: MonadIO m => GLuint -> GLuint64 -> GLuint -> m GLboolean
glActiveProgramEXT :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()
glActiveShaderProgramEXT :: MonadIO m => GLuint -> GLuint -> m ()
glActiveStencilFaceEXT :: MonadIO m => GLenum -> m ()

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

-- | This command is an alias for <a>glActiveTexture</a>.
glActiveTextureARB :: MonadIO m => GLenum -> m ()
glActiveVaryingNV :: MonadIO m => GLuint -> Ptr GLchar -> 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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()
glAlphaFuncQCOM :: MonadIO m => GLenum -> GLclampf -> m ()
glAlphaFuncx :: MonadIO m => GLenum -> GLfixed -> m ()
glAlphaFuncxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glAlphaToCoverageDitherControlNV :: MonadIO m => GLenum -> m ()
glApplyFramebufferAttachmentCMAAINTEL :: MonadIO m => m ()
glApplyTextureEXT :: MonadIO m => GLenum -> m ()
glAreProgramsResidentNV :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

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

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

-- | This command is an alias for <a>glArrayElement</a>.
glArrayElementEXT :: MonadIO m => GLint -> m ()
glArrayObjectATI :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> 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
glAsyncMarkerSGIX :: MonadIO m => GLuint -> m ()

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

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

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

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

-- | This command is an alias for <a>glBeginConditionalRender</a>.
glBeginConditionalRenderNV :: MonadIO m => GLuint -> GLenum -> m ()
glBeginConditionalRenderNVX :: MonadIO m => GLuint -> m ()
glBeginFragmentShaderATI :: MonadIO m => m ()
glBeginOcclusionQueryNV :: MonadIO m => GLuint -> m ()
glBeginPerfMonitorAMD :: MonadIO m => GLuint -> m ()
glBeginPerfQueryINTEL :: MonadIO m => GLuint -> m ()

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

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

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

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

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

-- | This command is an alias for <a>glBeginTransformFeedback</a>.
glBeginTransformFeedbackNV :: MonadIO m => GLenum -> m ()
glBeginVertexShaderEXT :: MonadIO m => m ()
glBeginVideoCaptureNV :: MonadIO m => GLuint -> m ()

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

-- | This command is an alias for <a>glBindAttribLocation</a>.
glBindAttribLocationARB :: MonadIO m => GLhandleARB -> GLuint -> Ptr GLcharARB -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glBindFragDataLocation</a>.
glBindFragDataLocationEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

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

-- | This command is an alias for <a>glBindFragDataLocationIndexed</a>.
glBindFragDataLocationIndexedEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()
glBindFragmentShaderATI :: MonadIO m => GLuint -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()
glBindLightParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindMaterialParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint
glBindMultiTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()
glBindParameterEXT :: MonadIO m => GLenum -> m GLuint
glBindProgramARB :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glBindProgramARB</a>.
glBindProgramNV :: MonadIO m => GLenum -> GLuint -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()
glBindShadingRateImageNV :: MonadIO m => GLuint -> m ()
glBindTexGenParameterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> m GLuint

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()
glBindTextureUnitParameterEXT :: MonadIO m => GLenum -> GLenum -> m GLuint

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

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()
glBindVertexShaderEXT :: MonadIO m => GLuint -> m ()
glBindVideoCaptureStreamBufferNV :: MonadIO m => GLuint -> GLuint -> GLenum -> GLintptrARB -> m ()
glBindVideoCaptureStreamTextureNV :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> m ()

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

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

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

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

-- | The vector equivalent of this command is <a>glBinormal3svEXT</a>.
glBinormal3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glBinormal3svEXT :: MonadIO m => Ptr GLshort -> m ()
glBinormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()
glBitmapxOES :: MonadIO m => GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> m ()
glBlendBarrier :: MonadIO m => m ()

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

-- | This command is an alias for <a>glBlendBarrier</a>.
glBlendBarrierNV :: MonadIO m => m ()

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

-- | This command is an alias for <a>glBlendColor</a>.
glBlendColorEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glBlendColorxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glBlendFuncSeparatei</a>.
glBlendFuncSeparateIndexedAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glBlendFuncSeparateOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

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

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

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

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

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

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

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

-- | This command is an alias for <a>glBlendFunci</a>.
glBlendFunciOES :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()
glBlendParameteriNV :: MonadIO m => GLenum -> GLint -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()
glBufferAddressRangeNV :: MonadIO m => GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> m ()
glBufferAttachMemoryNV :: MonadIO m => GLenum -> GLuint -> GLuint64 -> m ()

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

-- | This command is an alias for <a>glBufferData</a>.
glBufferDataARB :: MonadIO m => GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> m ()
glBufferPageCommitmentARB :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
glBufferParameteriAPPLE :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

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

-- | This command is an alias for <a>glBufferStorage</a>.
glBufferStorageEXT :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()
glBufferStorageExternalEXT :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> m ()
glBufferStorageMemEXT :: MonadIO m => GLenum -> GLsizeiptr -> GLuint -> GLuint64 -> m ()

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

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

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

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

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

-- | This command is an alias for <a>glCheckFramebufferStatus</a>.
glCheckFramebufferStatusEXT :: MonadIO m => GLenum -> m GLenum
glCheckFramebufferStatusOES :: MonadIO m => GLenum -> m GLenum

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

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

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glClearAccumxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()

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

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

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

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

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

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

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glClearColorIiEXT :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glClearColorIuiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()
glClearColorx :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glClearColorxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()

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

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

-- | This command is an alias for <a>glClearDepthf</a>.
glClearDepthfOES :: MonadIO m => GLclampf -> m ()
glClearDepthx :: MonadIO m => GLfixed -> m ()
glClearDepthxOES :: MonadIO m => GLfixed -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glClientActiveTexture</a>.
glClientActiveTextureARB :: MonadIO m => GLenum -> m ()
glClientActiveVertexStreamATI :: MonadIO m => GLenum -> m ()
glClientAttribDefaultEXT :: MonadIO m => GLbitfield -> m ()
glClientWaitSemaphoreui64NVX :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

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

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

-- | This command is an alias for <a>glClipControl</a>.
glClipControlEXT :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glClipPlanef :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glClipPlanefIMG :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glClipPlanex :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glClipPlanexIMG :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glClipPlanexOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()
glColor3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glColor3xvOES :: MonadIO m => Ptr GLfixed -> m ()

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

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

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

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

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> 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 ()

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

-- | The vector equivalent of this command is <a>glColor4hvNV</a>.
glColor4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glColor4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

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

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

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

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

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> 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 ()

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

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

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()
glColor4x :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glColor4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glColor4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glColorFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> 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 ()

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

-- | This command is an alias for <a>glColorMaski</a>.
glColorMaskIndexedEXT :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

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

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> 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 ()

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glColorTable</a>.
glColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> 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 ()
glCommandListSegmentsNV :: MonadIO m => GLuint -> GLuint -> m ()
glCompileCommandListNV :: MonadIO m => GLuint -> m ()

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

-- | This command is an alias for <a>glCompileShader</a>.
glCompileShaderARB :: MonadIO m => GLhandleARB -> m ()
glCompileShaderIncludeARB :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> 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 ()

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

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

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glCompressedTexSubImage3D</a>.
glCompressedTexSubImage3DARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedTexSubImage3DOES :: MonadIO m => 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 ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glCompressedTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()
glConservativeRasterParameterfNV :: MonadIO m => GLenum -> GLfloat -> m ()
glConservativeRasterParameteriNV :: MonadIO m => GLenum -> GLint -> m ()

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

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

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glConvolutionParameteriv</a>.
glConvolutionParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glConvolutionParameterxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glConvolutionParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glCopyImageSubData</a>.
glCopyImageSubDataOES :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> 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 ()

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

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

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glCopyTexSubImage3D</a>.
glCopyTexSubImage3DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTexSubImage3DOES :: MonadIO m => 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 ()
glCopyTextureLevelsAPPLE :: MonadIO m => GLuint -> GLuint -> GLint -> GLsizei -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()
glCopyTextureSubImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> 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 ()
glCoverageMaskNV :: MonadIO m => GLboolean -> m ()
glCoverageModulationNV :: MonadIO m => GLenum -> m ()
glCoverageModulationTableNV :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()
glCoverageOperationNV :: MonadIO m => GLenum -> m ()

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glCreateShader</a>.
glCreateShaderObjectARB :: MonadIO m => GLenum -> m GLhandleARB
glCreateShaderProgramEXT :: MonadIO m => GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
glCreateShaderProgramvEXT :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint
glCreateStatesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glCreateSyncFromCLeventARB :: MonadIO m => Ptr a -> Ptr b -> GLbitfield -> m GLsync

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

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

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

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()
glCullParameterdvEXT :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glCullParameterfvEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glCurrentPaletteMatrixARB :: MonadIO m => GLint -> m ()
glCurrentPaletteMatrixOES :: MonadIO m => GLuint -> m ()

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

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

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()
glDebugMessageInsertAMD :: MonadIO m => GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

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

-- | This command is an alias for <a>glDebugMessageInsert</a>.
glDebugMessageInsertKHR :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> 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 ()
glDeleteAsyncMarkersSGIX :: MonadIO m => GLuint -> GLsizei -> m ()

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

-- | This command is an alias for <a>glDeleteBuffers</a>.
glDeleteBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteCommandListsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFencesAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteFragmentShaderATI :: MonadIO m => GLuint -> m ()

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()
glDeleteMemoryObjectsEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteNamedStringARB :: MonadIO m => GLint -> Ptr GLchar -> m ()
glDeleteNamesAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glDeleteObjectARB :: MonadIO m => GLhandleARB -> m ()
glDeleteOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeletePathsNV :: MonadIO m => GLuint -> GLsizei -> m ()
glDeletePerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeletePerfQueryINTEL :: MonadIO m => GLuint -> m ()

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

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

-- | This command is an alias for <a>glDeleteProgramsARB</a>.
glDeleteProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

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

-- | This command is an alias for <a>glDeleteQueries</a>.
glDeleteQueriesARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteQueriesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteQueryResourceTagNV :: MonadIO m => GLsizei -> Ptr GLint -> m ()

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

-- | This command is an alias for <a>glDeleteRenderbuffers</a>.
glDeleteRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteRenderbuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

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

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()
glDeleteStatesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

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

-- | This command is an alias for <a>glDeleteSync</a>.
glDeleteSyncAPPLE :: MonadIO m => GLsync -> m ()

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

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

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

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

-- | This command is an alias for <a>glDeleteVertexArrays</a>.
glDeleteVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <tt>glDeleteVertexArrays</tt>.
glDeleteVertexArraysOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteVertexShaderEXT :: MonadIO m => GLuint -> m ()
glDepthBoundsEXT :: MonadIO m => GLclampd -> GLclampd -> m ()
glDepthBoundsdNV :: MonadIO m => GLdouble -> GLdouble -> m ()

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

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

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()
glDepthRangeArrayfvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()
glDepthRangeArrayfvOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()
glDepthRangeIndexedfNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glDepthRangeIndexedfOES :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glDepthRangedNV :: MonadIO m => GLdouble -> GLdouble -> m ()

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

-- | This command is an alias for <a>glDepthRangef</a>.
glDepthRangefOES :: MonadIO m => GLclampf -> GLclampf -> m ()
glDepthRangex :: MonadIO m => GLfixed -> GLfixed -> m ()
glDepthRangexOES :: MonadIO m => GLfixed -> GLfixed -> m ()

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

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()
glDisableClientStateIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableClientStateiEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableDriverControlQCOM :: MonadIO m => GLuint -> m ()

-- | This command is an alias for <a>glDisablei</a>.
glDisableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glDisableVariantClientStateEXT :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()
glDisableVertexArrayAttribEXT :: MonadIO m => GLuint -> GLuint -> m ()
glDisableVertexArrayEXT :: MonadIO m => GLuint -> GLenum -> m ()
glDisableVertexAttribAPPLE :: MonadIO m => GLuint -> GLenum -> m ()

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

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

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

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

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

-- | This command is an alias for <a>glDrawArrays</a>.
glDrawArraysEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

-- | This command is an alias for <a>glDrawBuffers</a>.
glDrawBuffersEXT :: MonadIO m => GLsizei -> Ptr GLenum -> m ()
glDrawBuffersIndexedEXT :: MonadIO m => GLint -> Ptr GLenum -> Ptr GLint -> m ()
glDrawBuffersNV :: MonadIO m => GLsizei -> Ptr GLenum -> 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 ()
glDrawElementArrayAPPLE :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glDrawElementArrayATI :: MonadIO m => GLenum -> GLsizei -> m ()

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

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

-- | This command is an alias for <a>glDrawElementsBaseVertex</a>.
glDrawElementsBaseVertexEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | This command is an alias for <a>glDrawElementsBaseVertex</a>.
glDrawElementsBaseVertexOES :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

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

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

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

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

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

-- | This command is an alias for
--   <a>glDrawElementsInstancedBaseInstance</a>.
glDrawElementsInstancedBaseInstanceEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

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

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

-- | This command is an alias for
--   <a>glDrawElementsInstancedBaseVertexBaseInstance</a>.
glDrawElementsInstancedBaseVertexBaseInstanceEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | This command is an alias for <a>glDrawElementsInstancedBaseVertex</a>.
glDrawElementsInstancedBaseVertexEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | This command is an alias for <a>glDrawElementsInstancedBaseVertex</a>.
glDrawElementsInstancedBaseVertexOES :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

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

-- | This command is an alias for <a>glDrawElementsInstanced</a>.
glDrawElementsInstancedNV :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()
glDrawMeshArraysSUN :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()
glDrawMeshTasksIndirectNV :: MonadIO m => GLintptr -> m ()
glDrawMeshTasksNV :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glDrawRangeElementArrayAPPLE :: MonadIO m => GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> m ()
glDrawRangeElementArrayATI :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

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

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

-- | This command is an alias for <a>glDrawRangeElementsBaseVertex</a>.
glDrawRangeElementsBaseVertexEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | This command is an alias for <a>glDrawRangeElementsBaseVertex</a>.
glDrawRangeElementsBaseVertexOES :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

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

-- | The vector equivalent of this command is <a>glDrawTexfvOES</a>.
glDrawTexfOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glDrawTexfvOES :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glDrawTexivOES</a>.
glDrawTexiOES :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glDrawTexivOES :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glDrawTexsvOES</a>.
glDrawTexsOES :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> m ()
glDrawTexsvOES :: MonadIO m => Ptr GLshort -> m ()
glDrawTextureNV :: MonadIO m => GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glDrawTexxvOES</a>.
glDrawTexxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glDrawTexxvOES :: MonadIO m => Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glDrawTransformFeedback</a>.
glDrawTransformFeedbackEXT :: MonadIO m => GLenum -> GLuint -> m ()

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

-- | This command is an alias for <a>glDrawTransformFeedbackInstanced</a>.
glDrawTransformFeedbackInstancedEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | This command is an alias for <a>glDrawTransformFeedback</a>.
glDrawTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()
glDrawVkImageNV :: MonadIO m => GLuint64 -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glEGLImageTargetRenderbufferStorageOES :: MonadIO m => GLenum -> GLeglImageOES -> m ()
glEGLImageTargetTexStorageEXT :: MonadIO m => GLenum -> GLeglImageOES -> Ptr GLint -> m ()
glEGLImageTargetTexture2DOES :: MonadIO m => GLenum -> GLeglImageOES -> m ()
glEGLImageTargetTextureStorageEXT :: MonadIO m => GLuint -> GLeglImageOES -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()
glEdgeFlagFormatNV :: MonadIO m => GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()
glEdgeFlagPointerEXT :: MonadIO m => GLsizei -> GLsizei -> Ptr GLboolean -> m ()
glEdgeFlagPointerListIBM :: MonadIO m => GLint -> Ptr (Ptr GLboolean) -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()
glElementPointerAPPLE :: MonadIO m => GLenum -> Ptr a -> m ()
glElementPointerATI :: MonadIO m => GLenum -> Ptr a -> m ()

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

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()
glEnableClientStateIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableClientStateiEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableDriverControlQCOM :: MonadIO m => GLuint -> m ()

-- | This command is an alias for <a>glEnablei</a>.
glEnableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()
glEnableVariantClientStateEXT :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()
glEnableVertexArrayAttribEXT :: MonadIO m => GLuint -> GLuint -> m ()
glEnableVertexArrayEXT :: MonadIO m => GLuint -> GLenum -> m ()
glEnableVertexAttribAPPLE :: MonadIO m => GLuint -> GLenum -> m ()

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

-- | This command is an alias for <a>glEnableVertexAttribArray</a>.
glEnableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()

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

-- | This command is an alias for <a>glEnablei</a>.
glEnableiEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glEnablei</a>.
glEnableiNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glEnablei</a>.
glEnableiOES :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | This command is an alias for <a>glEndConditionalRender</a>.
glEndConditionalRenderNV :: MonadIO m => m ()

-- | This command is an alias for <a>glEndConditionalRender</a>.
glEndConditionalRenderNVX :: MonadIO m => m ()
glEndFragmentShaderATI :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()
glEndOcclusionQueryNV :: MonadIO m => m ()
glEndPerfMonitorAMD :: MonadIO m => GLuint -> m ()
glEndPerfQueryINTEL :: MonadIO m => GLuint -> m ()

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

-- | This command is an alias for <a>glEndQuery</a>.
glEndQueryARB :: MonadIO m => GLenum -> m ()
glEndQueryEXT :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()
glEndTilingQCOM :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | This command is an alias for <a>glEndTransformFeedback</a>.
glEndTransformFeedbackEXT :: MonadIO m => m ()

-- | This command is an alias for <a>glEndTransformFeedback</a>.
glEndTransformFeedbackNV :: MonadIO m => m ()
glEndVertexShaderEXT :: MonadIO m => m ()
glEndVideoCaptureNV :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()
glEvalCoord1xOES :: MonadIO m => GLfixed -> m ()
glEvalCoord1xvOES :: MonadIO m => Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()
glEvalCoord2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glEvalCoord2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glEvalMapsNV :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()
glEvaluateDepthValuesARB :: MonadIO m => m ()
glExecuteProgramNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> 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 ()
glExtractComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()
glFeedbackBufferxOES :: MonadIO m => GLsizei -> GLenum -> Ptr GLfixed -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | This command is an alias for <a>glFenceSync</a>.
glFenceSyncAPPLE :: MonadIO m => GLenum -> GLbitfield -> m GLsync
glFinalCombinerInputNV :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()
glFinishAsyncSGIX :: MonadIO m => Ptr GLuint -> m GLint
glFinishFenceAPPLE :: MonadIO m => GLuint -> m ()
glFinishFenceNV :: MonadIO m => GLuint -> m ()
glFinishObjectAPPLE :: MonadIO m => GLenum -> GLint -> m ()
glFinishTextureSUNX :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

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

-- | This command is an alias for <a>glFlushMappedBufferRange</a>.
glFlushMappedBufferRangeAPPLE :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | This command is an alias for <a>glFlushMappedBufferRange</a>.
glFlushMappedBufferRangeEXT :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()
glFlushMappedNamedBufferRangeEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()
glFlushPixelDataRangeNV :: MonadIO m => GLenum -> m ()
glFlushRasterSGIX :: MonadIO m => m ()
glFlushStaticDataIBM :: MonadIO m => GLenum -> m ()
glFlushVertexArrayRangeAPPLE :: MonadIO m => GLsizei -> Ptr a -> m ()
glFlushVertexArrayRangeNV :: MonadIO m => m ()
glFogCoordFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()

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

-- | This command is an alias for <a>glFogCoordPointer</a>.
glFogCoordPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glFogCoordPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | The vector equivalent of this command is <a>glFogCoorddvEXT</a>. This
--   command is an alias for <a>glFogCoordd</a>.
glFogCoorddEXT :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glFogCoorddv</a>.
glFogCoorddvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | The vector equivalent of this command is <a>glFogCoordfvEXT</a>. This
--   command is an alias for <a>glFogCoordf</a>.
glFogCoordfEXT :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glFogCoordfv</a>.
glFogCoordfvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glFogCoordhvNV</a>.
glFogCoordhNV :: MonadIO m => GLhalfNV -> m ()
glFogCoordhvNV :: MonadIO m => Ptr GLhalfNV -> m ()
glFogFuncSGIS :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glFogx :: MonadIO m => GLenum -> GLfixed -> m ()
glFogxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glFogxv :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glFogxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glFragmentColorMaterialSGIX :: MonadIO m => GLenum -> GLenum -> m ()
glFragmentCoverageColorNV :: MonadIO m => GLuint -> 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 ()
glFrameTerminatorGREMEDY :: MonadIO m => m ()
glFrameZoomSGIX :: MonadIO m => GLint -> m ()
glFramebufferDrawBufferEXT :: MonadIO m => GLuint -> GLenum -> m ()
glFramebufferDrawBuffersEXT :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()
glFramebufferFetchBarrierEXT :: MonadIO m => 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glFramebufferParameteriMESA :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glFramebufferPixelLocalStorageSizeEXT :: MonadIO m => GLuint -> GLsizei -> m ()
glFramebufferReadBufferEXT :: MonadIO m => GLuint -> GLenum -> m ()

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

-- | This command is an alias for <a>glFramebufferRenderbuffer</a>.
glFramebufferRenderbufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glFramebufferRenderbufferOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glFramebufferSampleLocationsfvARB :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glFramebufferSampleLocationsfvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glFramebufferSamplePositionsfvAMD :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTexture1D</a>.
glFramebufferTexture1DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTexture2DDownsampleIMG :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTexture2D</a>.
glFramebufferTexture2DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> 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 ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTexture3D</a>.
glFramebufferTexture3DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferTexture3DOES :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTexture</a>.
glFramebufferTextureARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTexture</a>.
glFramebufferTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTextureFaceARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()

-- | This command is an alias for <a>glFramebufferTextureFaceARB</a>.
glFramebufferTextureFaceEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTextureLayer</a>.
glFramebufferTextureLayerARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferTextureLayerDownsampleIMG :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTextureLayer</a>.
glFramebufferTextureLayerEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glFramebufferTextureMultisampleMultiviewOVR :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> m ()
glFramebufferTextureMultiviewOVR :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> m ()

-- | This command is an alias for <a>glFramebufferTexture</a>.
glFramebufferTextureOES :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFreeObjectBufferATI :: MonadIO m => GLuint -> m ()

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

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glFrustumf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glFrustumfOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glFrustumx :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glFrustumxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glGenAsyncMarkersSGIX :: MonadIO m => GLsizei -> m GLuint

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

-- | This command is an alias for <a>glGenBuffers</a>.
glGenBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFencesAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFencesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFragmentShadersATI :: MonadIO m => GLuint -> m GLuint

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

-- | This command is an alias for <a>glGenFramebuffers</a>.
glGenFramebuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenFramebuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint
glGenNamesAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGenOcclusionQueriesNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenPathsNV :: MonadIO m => GLsizei -> m GLuint
glGenPerfMonitorsAMD :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramPipelinesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenProgramsARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGenProgramsARB</a>.
glGenProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

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

-- | This command is an alias for <a>glGenQueries</a>.
glGenQueriesARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenQueriesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenQueryResourceTagNV :: MonadIO m => GLsizei -> Ptr GLint -> m ()

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

-- | This command is an alias for <a>glGenRenderbuffers</a>.
glGenRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenRenderbuffersOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenSemaphoresEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenSymbolsEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

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

-- | This command is an alias for <a>glGenTransformFeedbacks</a>.
glGenTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

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

-- | This command is an alias for <a>glGenVertexArrays</a>.
glGenVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGenVertexArrays</a>.
glGenVertexArraysOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenVertexShadersEXT :: MonadIO m => GLuint -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | This command is an alias for <a>glGenerateMipmap</a>.
glGenerateMipmapEXT :: MonadIO m => GLenum -> m ()
glGenerateMipmapOES :: MonadIO m => GLenum -> m ()
glGenerateMultiTexMipmapEXT :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()
glGenerateTextureMipmapEXT :: MonadIO m => GLuint -> GLenum -> m ()

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

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

-- | This command is an alias for <a>glGetActiveAttrib</a>.
glGetActiveAttribARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()

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

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

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

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

-- | This command is an alias for <a>glGetActiveUniform</a>.
glGetActiveUniformARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()
glGetActiveVaryingNV :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()
glGetArrayObjectfvATI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetArrayObjectivATI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetAttachedObjectsARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> m ()

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

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | This command is an alias for <a>glGetAttribLocation</a>.
glGetAttribLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint

-- | This command is an alias for <a>glGetBooleani_v</a>.
glGetBooleanIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

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

-- | This command is an alias for <a>glGetBufferParameteriv</a>.
glGetBufferParameterivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetBufferParameterui64vNV :: MonadIO m => GLenum -> GLenum -> Ptr GLuint64EXT -> m ()

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

-- | This command is an alias for <a>glGetBufferPointerv</a>.
glGetBufferPointervARB :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for <a>glGetBufferPointerv</a>.
glGetBufferPointervOES :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

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

-- | This command is an alias for <a>glGetBufferSubData</a>.
glGetBufferSubDataARB :: MonadIO m => GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glGetClipPlanef :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetClipPlanex :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glGetClipPlanexOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for <a>glGetColorTable</a>.
glGetColorTableEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetColorTableParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetColorTableParameterfv</a>.
glGetColorTableParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetColorTableParameterfvSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetColorTableParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetColorTableParameteriv</a>.
glGetColorTableParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetColorTableParameterivSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> 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 ()
glGetCommandHeaderNV :: MonadIO m => GLenum -> GLuint -> m GLuint
glGetCompressedMultiTexImageEXT :: MonadIO m => GLenum -> GLenum -> GLint -> Ptr a -> m ()

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

-- | This command is an alias for <a>glGetCompressedTexImage</a>.
glGetCompressedTexImageARB :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
glGetConvolutionFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()
glGetConvolutionFilterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetConvolutionParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetConvolutionParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetConvolutionParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetConvolutionParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetConvolutionParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetCoverageModulationTableNV :: MonadIO m => GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint
glGetDebugMessageLogAMD :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | This command is an alias for <a>glGetDebugMessageLog</a>.
glGetDebugMessageLogARB :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | This command is an alias for <a>glGetDebugMessageLog</a>.
glGetDebugMessageLogKHR :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint
glGetDetailTexFuncSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetDoublei_v</a>.
glGetDoubleIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

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

-- | This command is an alias for <a>glGetDoublei_v</a>.
glGetDoublei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()
glGetDriverControlStringQCOM :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetDriverControlsQCOM :: MonadIO m => Ptr GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum
glGetFenceivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetFinalCombinerInputParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetFinalCombinerInputParameterivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFirstPerfQueryIdINTEL :: MonadIO m => Ptr GLuint -> m ()
glGetFixedv :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glGetFixedvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()

-- | This command is an alias for <a>glGetFloati_v</a>.
glGetFloatIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

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

-- | This command is an alias for <a>glGetFloati_v</a>.
glGetFloati_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetFloati_v</a>.
glGetFloati_vNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetFloati_v</a>.
glGetFloati_vOES :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetFogFuncSGIS :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | This command is an alias for <a>glGetFragDataIndex</a>.
glGetFragDataIndexEXT :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | This command is an alias for <a>glGetFragDataLocation</a>.
glGetFragDataLocationEXT :: MonadIO m => GLuint -> Ptr GLchar -> m GLint
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 ()

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

-- | This command is an alias for
--   <a>glGetFramebufferAttachmentParameteriv</a>.
glGetFramebufferAttachmentParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferAttachmentParameterivOES :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferParameterfvAMD :: MonadIO m => GLenum -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetFramebufferParameterivMESA :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetFramebufferPixelLocalStorageSizeEXT :: MonadIO m => GLuint -> m GLsizei

-- | Manual page for <a>OpenGL 4.x</a>.
glGetGraphicsResetStatus :: MonadIO m => m GLenum
glGetGraphicsResetStatusARB :: MonadIO m => m GLenum

-- | This command is an alias for <a>glGetGraphicsResetStatus</a>.
glGetGraphicsResetStatusEXT :: MonadIO m => m GLenum

-- | This command is an alias for <a>glGetGraphicsResetStatus</a>.
glGetGraphicsResetStatusKHR :: MonadIO m => m GLenum
glGetHandleARB :: MonadIO m => GLenum -> m GLhandleARB

-- | Manual page for <a>OpenGL 2.x</a>.
glGetHistogram :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
glGetHistogramEXT :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetHistogramParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetHistogramParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetHistogramParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetHistogramParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetHistogramParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetImageHandleARB :: MonadIO m => GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
glGetImageHandleNV :: MonadIO m => GLuint -> GLint -> GLboolean -> GLint -> GLenum -> m GLuint64
glGetImageTransformParameterfvHP :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetImageTransformParameterivHP :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetInfoLogARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()
glGetInstrumentsSGIX :: MonadIO m => m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | This command is an alias for <a>glGetInteger64v</a>.
glGetInteger64vAPPLE :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | This command is an alias for <a>glGetInteger64v</a>.
glGetInteger64vEXT :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | This command is an alias for <a>glGetIntegeri_v</a>.
glGetIntegerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetIntegeri_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetIntegerui64i_vNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint64EXT -> m ()
glGetIntegerui64vNV :: MonadIO m => GLenum -> Ptr GLuint64EXT -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> 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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetLightxOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetLightxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetLightxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetListParameterfvSGIX :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetListParameterivSGIX :: 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 ()
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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetMapxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetMaterialxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glGetMaterialxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetMaterialxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetMemoryObjectDetachedResourcesuivNV :: MonadIO m => GLuint -> GLenum -> GLint -> GLsizei -> Ptr GLuint -> m ()
glGetMemoryObjectParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMinmax :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()
glGetMinmaxEXT :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMinmaxParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetMinmaxParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMinmaxParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetMinmaxParameterivEXT :: MonadIO m => GLenum -> GLenum -> 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 ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetMultisamplefv</a>.
glGetMultisamplefvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedBufferParameterui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glGetNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedFramebufferAttachmentParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetNamedFramebufferParameterfvAMD :: MonadIO m => GLuint -> GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetNamedRenderbufferParameterivEXT :: MonadIO m => GLuint -> 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 ()
glGetNextPerfQueryIdINTEL :: MonadIO m => GLuint -> Ptr GLuint -> m ()
glGetObjectBufferfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetObjectBufferivATI :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetObjectLabelEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for <a>glGetObjectLabel</a>.
glGetObjectLabelKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetObjectParameterfvARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLfloat -> m ()
glGetObjectParameterivAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()
glGetObjectParameterivARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for <a>glGetObjectPtrLabel</a>.
glGetObjectPtrLabelKHR :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> 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 ()
glGetPerfCounterInfoINTEL :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> 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 ()
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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()
glGetPixelMapxv :: MonadIO m => GLenum -> GLint -> Ptr GLfixed -> m ()
glGetPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()
glGetPixelTransformParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetPixelTransformParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetPointerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr (Ptr a) -> m ()
glGetPointeri_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for <a>glGetPointerv</a>.
glGetPointervEXT :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for <a>glGetPointerv</a>.
glGetPointervKHR :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

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

-- | This command is an alias for <a>glGetProgramBinary</a>.
glGetProgramBinaryOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()
glGetProgramEnvParameterIivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetProgramEnvParameterIuivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGetProgramEnvParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramEnvParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetProgramLocalParameterIivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()
glGetProgramLocalParameterIuivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glGetProgramLocalParameterdvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()
glGetProgramLocalParameterfvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetProgramNamedParameterdvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> m ()
glGetProgramNamedParameterfvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> m ()
glGetProgramParameterdvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetProgramParameterfvNV :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramPipelineInfoLogEXT :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint
glGetProgramResourceLocationIndexEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()
glGetProgramResourcefvNV :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetProgramStringARB :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()
glGetProgramStringNV :: MonadIO m => GLuint -> GLenum -> Ptr GLubyte -> m ()
glGetProgramSubroutineParameteruivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetProgramivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetProgramivNV :: 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 <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | This command is an alias for <a>glGetQueryObjecti64v</a>.
glGetQueryObjecti64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetQueryObjectiv</a>.
glGetQueryObjectivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetQueryObjectiv</a>.
glGetQueryObjectivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | This command is an alias for <a>glGetQueryObjectui64v</a>.
glGetQueryObjectui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

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

-- | This command is an alias for <a>glGetQueryObjectuiv</a>.
glGetQueryObjectuivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()
glGetQueryObjectuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

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

-- | This command is an alias for <a>glGetQueryiv</a>.
glGetQueryivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetQueryivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

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

-- | This command is an alias for <a>glGetRenderbufferParameteriv</a>.
glGetRenderbufferParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetRenderbufferParameterivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

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

-- | This command is an alias for <a>glGetSamplerParameterIiv</a>.
glGetSamplerParameterIivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetSamplerParameterIiv</a>.
glGetSamplerParameterIivOES :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGetSamplerParameterIuiv</a>.
glGetSamplerParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGetSamplerParameterIuiv</a>.
glGetSamplerParameterIuivOES :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetSemaphoreParameterui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetSeparableFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> m ()
glGetSeparableFilterEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

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

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for <a>glGetShaderSource</a>.
glGetShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetShadingRateImagePaletteNV :: MonadIO m => GLuint -> GLuint -> Ptr GLenum -> m ()
glGetShadingRateSampleLocationivNV :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLint -> m ()
glGetSharpenTexFuncSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetStageIndexNV :: MonadIO m => GLenum -> m GLushort

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

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

-- | This command is an alias for <a>glGetSynciv</a>.
glGetSyncivAPPLE :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()
glGetTexBumpParameterfvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetTexBumpParameterivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexEnvxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexEnvxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexFilterFuncSGIS :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetTexGenfvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexGenivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexGenxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

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

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()
glGetTexLevelParameterxvOES :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfixed -> m ()

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

-- | This command is an alias for <a>glGetTexParameterIiv</a>.
glGetTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetTexParameterIiv</a>.
glGetTexParameterIivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <tt>glGetTexParameterIuiv</tt>.
glGetTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <tt>glGetTexParameterIuiv</tt>.
glGetTexParameterIuivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()
glGetTexParameterPointervAPPLE :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetTexParameterxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTexParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glGetTextureHandleARB :: MonadIO m => GLuint -> m GLuint64

-- | This command is an alias for <a>glGetTextureHandleARB</a>.
glGetTextureHandleIMG :: MonadIO m => GLuint -> m GLuint64
glGetTextureHandleNV :: MonadIO m => GLuint -> m GLuint64

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()
glGetTextureLevelParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetTextureParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glGetTextureSamplerHandleARB :: MonadIO m => GLuint -> GLuint -> m GLuint64

-- | This command is an alias for <a>glGetTextureSamplerHandleARB</a>.
glGetTextureSamplerHandleIMG :: MonadIO m => GLuint -> GLuint -> m GLuint64
glGetTextureSamplerHandleNV :: MonadIO m => GLuint -> GLuint -> m GLuint64

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | This command is an alias for <a>glGetTransformFeedbackVarying</a>.
glGetTransformFeedbackVaryingEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()
glGetTransformFeedbackVaryingNV :: MonadIO m => GLuint -> GLuint -> Ptr GLint -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetTranslatedShaderSourceANGLE :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint
glGetUniformBufferSizeEXT :: MonadIO m => GLuint -> GLint -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | This command is an alias for <a>glGetUniformLocation</a>.
glGetUniformLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint
glGetUniformOffsetEXT :: MonadIO m => GLuint -> GLint -> m GLintptr

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetUniformfv</a>.
glGetUniformfvARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLfloat -> m ()
glGetUniformi64vARB :: MonadIO m => GLuint -> GLint -> Ptr GLint64 -> m ()
glGetUniformi64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLint64EXT -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetUniformiv</a>.
glGetUniformivARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLint -> m ()
glGetUniformui64vARB :: MonadIO m => GLuint -> GLint -> Ptr GLuint64 -> m ()
glGetUniformui64vNV :: MonadIO m => GLuint -> GLint -> Ptr GLuint64EXT -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGetUniformuiv</a>.
glGetUniformuivEXT :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()
glGetUnsignedBytei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLubyte -> m ()
glGetUnsignedBytevEXT :: MonadIO m => GLenum -> Ptr GLubyte -> m ()
glGetVariantArrayObjectfvATI :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glGetVariantArrayObjectivATI :: 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 ()
glGetVaryingLocationNV :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayiv :: 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetVertexAttribIiv</a>.
glGetVertexAttribIivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGetVertexAttribIuiv</a>.
glGetVertexAttribIuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

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

-- | This command is an alias for <a>glGetVertexAttribLdv</a>.
glGetVertexAttribLdvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()
glGetVertexAttribLi64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint64EXT -> m ()
glGetVertexAttribLui64vARB :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()
glGetVertexAttribLui64vNV :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64EXT -> m ()

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

-- | This command is an alias for <a>glGetVertexAttribPointerv</a>.
glGetVertexAttribPointervARB :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for <a>glGetVertexAttribPointerv</a>.
glGetVertexAttribPointervNV :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glGetVertexAttribdv</a>.
glGetVertexAttribdvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glGetVertexAttribdv</a>.
glGetVertexAttribdvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetVertexAttribfv</a>.
glGetVertexAttribfvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetVertexAttribfv</a>.
glGetVertexAttribfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetVertexAttribiv</a>.
glGetVertexAttribivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetVertexAttribiv</a>.
glGetVertexAttribivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> 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 ()
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 ()
glGetVkProcAddrNV :: MonadIO m => Ptr GLchar -> m GLVULKANPROCNV
glGetnColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnColorTableARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnCompressedTexImage :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()
glGetnCompressedTexImageARB :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()
glGetnConvolutionFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnConvolutionFilterARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnHistogram :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnHistogramARB :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnMapdv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
glGetnMapdvARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> m ()
glGetnMapfv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnMapfvARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnMapiv :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetnMapivARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()
glGetnMinmax :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnMinmaxARB :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnPixelMapfvARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glGetnPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glGetnPixelMapuivARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glGetnPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glGetnPixelMapusvARB :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glGetnPolygonStipple :: MonadIO m => GLsizei -> Ptr GLubyte -> m ()
glGetnPolygonStippleARB :: MonadIO m => GLsizei -> Ptr GLubyte -> m ()
glGetnSeparableFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> m ()
glGetnSeparableFilterARB :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glGetnTexImageARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glGetnUniformdvARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glGetnUniformfvARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetnUniformfv</a>.
glGetnUniformfvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetnUniformfv</a>.
glGetnUniformfvKHR :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()
glGetnUniformi64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glGetnUniformivARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetnUniformiv</a>.
glGetnUniformivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetnUniformiv</a>.
glGetnUniformivKHR :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()
glGetnUniformui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glGetnUniformuivARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGetnUniformuiv</a>.
glGetnUniformuivKHR :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> 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 ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()
glHintPGI :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glHistogram :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLboolean -> m ()

-- | This command is an alias for <a>glHistogram</a>.
glHistogramEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLboolean -> m ()
glIglooInterfaceSGIX :: MonadIO m => GLenum -> Ptr a -> 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 ()
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 ()
glImportSyncEXT :: MonadIO m => GLenum -> GLintptr -> GLbitfield -> m GLsync
glIndexFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glIndexFuncEXT :: MonadIO m => GLenum -> GLclampf -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()
glIndexMaterialEXT :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glIndexPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glIndexPointerListIBM :: MonadIO m => GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()
glIndexxOES :: MonadIO m => GLfixed -> m ()
glIndexxvOES :: MonadIO m => Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()
glInsertComponentEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glInsertEventMarkerEXT :: MonadIO m => GLsizei -> Ptr GLchar -> m ()
glInstrumentsBufferSGIX :: MonadIO m => GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glInterpolatePathsNV :: MonadIO m => GLuint -> GLuint -> GLuint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()
glIsAsyncMarkerSGIX :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsBuffer</a>.
glIsBufferARB :: MonadIO m => GLuint -> m GLboolean
glIsBufferResidentNV :: MonadIO m => GLenum -> m GLboolean
glIsCommandListNV :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | This command is an alias for <a>glIsEnabledi</a>.
glIsEnabledIndexedEXT :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | This command is an alias for <a>glIsEnabledi</a>.
glIsEnablediEXT :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | This command is an alias for <a>glIsEnabledi</a>.
glIsEnablediNV :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | This command is an alias for <a>glIsEnabledi</a>.
glIsEnablediOES :: MonadIO m => GLenum -> GLuint -> m GLboolean
glIsFenceAPPLE :: MonadIO m => GLuint -> m GLboolean
glIsFenceNV :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsFramebuffer</a>.
glIsFramebufferEXT :: MonadIO m => GLuint -> m GLboolean
glIsFramebufferOES :: MonadIO m => GLuint -> m GLboolean
glIsImageHandleResidentARB :: MonadIO m => GLuint64 -> m GLboolean
glIsImageHandleResidentNV :: MonadIO m => GLuint64 -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean
glIsMemoryObjectEXT :: MonadIO m => GLuint -> m GLboolean
glIsNameAMD :: MonadIO m => GLenum -> GLuint -> m GLboolean
glIsNamedBufferResidentNV :: MonadIO m => GLuint -> m GLboolean
glIsNamedStringARB :: MonadIO m => GLint -> Ptr GLchar -> m GLboolean
glIsObjectBufferATI :: 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

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean
glIsProgramARB :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsProgramARB</a>.
glIsProgramNV :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean
glIsProgramPipelineEXT :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsQuery</a>.
glIsQueryARB :: MonadIO m => GLuint -> m GLboolean
glIsQueryEXT :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsRenderbuffer</a>.
glIsRenderbufferEXT :: MonadIO m => GLuint -> m GLboolean
glIsRenderbufferOES :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean
glIsSemaphoreEXT :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean
glIsStateNV :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | This command is an alias for <a>glIsSync</a>.
glIsSyncAPPLE :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean
glIsTextureEXT :: MonadIO m => GLuint -> m GLboolean
glIsTextureHandleResidentARB :: MonadIO m => GLuint64 -> m GLboolean
glIsTextureHandleResidentNV :: MonadIO m => GLuint64 -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsTransformFeedback</a>.
glIsTransformFeedbackNV :: MonadIO m => GLuint -> m GLboolean
glIsVariantEnabledEXT :: MonadIO m => GLuint -> GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsVertexArray</a>.
glIsVertexArrayAPPLE :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsVertexArray</a>.
glIsVertexArrayOES :: MonadIO m => GLuint -> m GLboolean
glIsVertexAttribEnabledAPPLE :: MonadIO m => GLuint -> GLenum -> m GLboolean
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 ()
glLabelObjectEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
glLightEnviSGIX :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()
glLightModelx :: MonadIO m => GLenum -> GLfixed -> m ()
glLightModelxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glLightModelxv :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glLightModelxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glLightx :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glLightxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glLightxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glLightxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()
glLineWidthx :: MonadIO m => GLfixed -> m ()
glLineWidthxOES :: MonadIO m => GLfixed -> m ()

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

-- | This command is an alias for <a>glLinkProgram</a>.
glLinkProgramARB :: MonadIO m => GLhandleARB -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()
glListDrawCommandsStatesClientNV :: MonadIO m => GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> 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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()
glLoadIdentityDeformationMapSGIX :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()
glLoadMatrixx :: MonadIO m => Ptr GLfixed -> m ()
glLoadMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()
glLoadPaletteFromModelViewMatrixOES :: MonadIO m => m ()
glLoadProgramNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glLoadTransposeMatrixd</a>.
glLoadTransposeMatrixdARB :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glLoadTransposeMatrixf</a>.
glLoadTransposeMatrixfARB :: MonadIO m => Ptr GLfloat -> m ()
glLoadTransposeMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()
glLockArraysEXT :: MonadIO m => GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()
glMakeBufferNonResidentNV :: MonadIO m => GLenum -> m ()
glMakeBufferResidentNV :: MonadIO m => GLenum -> GLenum -> m ()
glMakeImageHandleNonResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeImageHandleNonResidentNV :: MonadIO m => GLuint64 -> m ()
glMakeImageHandleResidentARB :: MonadIO m => GLuint64 -> GLenum -> m ()
glMakeImageHandleResidentNV :: MonadIO m => GLuint64 -> GLenum -> m ()
glMakeNamedBufferNonResidentNV :: MonadIO m => GLuint -> m ()
glMakeNamedBufferResidentNV :: MonadIO m => GLuint -> GLenum -> m ()
glMakeTextureHandleNonResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleNonResidentNV :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleResidentARB :: MonadIO m => GLuint64 -> m ()
glMakeTextureHandleResidentNV :: MonadIO m => GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glMap1xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()
glMap2xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> m ()

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

-- | This command is an alias for <a>glMapBuffer</a>.
glMapBufferARB :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | This command is an alias for <a>glMapBuffer</a>.
glMapBufferOES :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | This command is an alias for <a>glMapBufferRange</a>.
glMapBufferRangeEXT :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)
glMapControlPointsNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()
glMapGrid1xOES :: MonadIO m => GLint -> GLfixed -> GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()
glMapGrid2xOES :: MonadIO m => GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)
glMapNamedBufferRangeEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)
glMapObjectBufferATI :: MonadIO m => GLuint -> m (Ptr a)
glMapParameterfvNV :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glMapParameterivNV :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glMapTexture2DINTEL :: MonadIO m => GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> m (Ptr a)
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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glMaterialx :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glMaterialxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glMaterialxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glMaterialxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glMatrixFrustumEXT :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glMatrixIndexPointerARB :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glMatrixIndexPointerOES :: 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 ()
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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> 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 ()

-- | This command is an alias for <a>glMaxShaderCompilerThreadsKHR</a>.
glMaxShaderCompilerThreadsARB :: MonadIO m => GLuint -> m ()
glMaxShaderCompilerThreadsKHR :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | This command is an alias for <a>glMemoryBarrier</a>.
glMemoryBarrierEXT :: MonadIO m => GLbitfield -> m ()
glMemoryObjectParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | This command is an alias for <a>glMinSampleShading</a>.
glMinSampleShadingARB :: MonadIO m => GLfloat -> m ()

-- | This command is an alias for <a>glMinSampleShading</a>.
glMinSampleShadingOES :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMinmax :: MonadIO m => GLenum -> GLenum -> GLboolean -> m ()

-- | This command is an alias for <a>glMinmax</a>.
glMinmaxEXT :: MonadIO m => GLenum -> GLenum -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()
glMultMatrixx :: MonadIO m => Ptr GLfixed -> m ()
glMultMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glMultTransposeMatrixd</a>.
glMultTransposeMatrixdARB :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glMultTransposeMatrixf</a>.
glMultTransposeMatrixfARB :: MonadIO m => Ptr GLfloat -> m ()
glMultTransposeMatrixxOES :: MonadIO m => Ptr GLfixed -> m ()

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

-- | This command is an alias for <a>glMultiDrawArrays</a>.
glMultiDrawArraysEXT :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

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

-- | This command is an alias for <a>glMultiDrawArraysIndirect</a>.
glMultiDrawArraysIndirectAMD :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawArraysIndirectBindlessCountNV :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawArraysIndirectBindlessNV :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawArraysIndirectCount :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glMultiDrawArraysIndirectCount</a>.
glMultiDrawArraysIndirectCountARB :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glMultiDrawArraysIndirect</a>.
glMultiDrawArraysIndirectEXT :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawElementArrayAPPLE :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

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

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

-- | This command is an alias for <a>glMultiDrawElementsBaseVertex</a>.
glMultiDrawElementsBaseVertexEXT :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glMultiDrawElements</a>.
glMultiDrawElementsEXT :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

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

-- | This command is an alias for <a>glMultiDrawElementsIndirect</a>.
glMultiDrawElementsIndirectAMD :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawElementsIndirectBindlessCountNV :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawElementsIndirectBindlessNV :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> m ()
glMultiDrawElementsIndirectCount :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glMultiDrawElementsIndirectCount</a>.
glMultiDrawElementsIndirectCountARB :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glMultiDrawElementsIndirect</a>.
glMultiDrawElementsIndirectEXT :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawMeshTasksIndirectCountNV :: MonadIO m => GLintptr -> GLintptr -> GLsizei -> GLsizei -> m ()
glMultiDrawMeshTasksIndirectNV :: MonadIO m => GLintptr -> GLsizei -> GLsizei -> m ()
glMultiDrawRangeElementArrayAPPLE :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> 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 ()
glMultiTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()
glMultiTexCoord1bOES :: MonadIO m => GLenum -> GLbyte -> m ()
glMultiTexCoord1bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1dv</a>.
--   This command is an alias for <a>glMultiTexCoord1d</a>.
glMultiTexCoord1dARB :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1fv</a>.
--   This command is an alias for <a>glMultiTexCoord1f</a>.
glMultiTexCoord1fARB :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1hvNV</a>.
glMultiTexCoord1hNV :: MonadIO m => GLenum -> GLhalfNV -> m ()
glMultiTexCoord1hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1iv</a>.
--   This command is an alias for <a>glMultiTexCoord1i</a>.
glMultiTexCoord1iARB :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1sv</a>.
--   This command is an alias for <a>glMultiTexCoord1s</a>.
glMultiTexCoord1sARB :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoord1xOES :: MonadIO m => GLenum -> GLfixed -> m ()
glMultiTexCoord1xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord2bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> m ()
glMultiTexCoord2bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2dv</a>.
--   This command is an alias for <a>glMultiTexCoord2d</a>.
glMultiTexCoord2dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2fv</a>.
--   This command is an alias for <a>glMultiTexCoord2f</a>.
glMultiTexCoord2fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2hvNV</a>.
glMultiTexCoord2hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord2hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2iv</a>.
--   This command is an alias for <a>glMultiTexCoord2i</a>.
glMultiTexCoord2iARB :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2sv</a>.
--   This command is an alias for <a>glMultiTexCoord2s</a>.
glMultiTexCoord2sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoord2xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> m ()
glMultiTexCoord2xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord3bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> GLbyte -> m ()
glMultiTexCoord3bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3dv</a>.
--   This command is an alias for <a>glMultiTexCoord3d</a>.
glMultiTexCoord3dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3fv</a>.
--   This command is an alias for <a>glMultiTexCoord3f</a>.
glMultiTexCoord3fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3hvNV</a>.
glMultiTexCoord3hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord3hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3iv</a>.
--   This command is an alias for <a>glMultiTexCoord3i</a>.
glMultiTexCoord3iARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3sv</a>.
--   This command is an alias for <a>glMultiTexCoord3s</a>.
glMultiTexCoord3sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoord3xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLfixed -> m ()
glMultiTexCoord3xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glMultiTexCoord4bOES :: MonadIO m => GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glMultiTexCoord4bvOES :: MonadIO m => GLenum -> Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4dv</a>.
--   This command is an alias for <a>glMultiTexCoord4d</a>.
glMultiTexCoord4dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4fv</a>.
--   This command is an alias for <a>glMultiTexCoord4f</a>.
glMultiTexCoord4fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4hvNV</a>.
glMultiTexCoord4hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord4hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4iv</a>.
--   This command is an alias for <a>glMultiTexCoord4i</a>.
glMultiTexCoord4iARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4sv</a>.
--   This command is an alias for <a>glMultiTexCoord4s</a>.
glMultiTexCoord4sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()
glMultiTexCoord4x :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glMultiTexCoord4xOES :: MonadIO m => GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glMultiTexCoord4xvOES :: MonadIO m => GLenum -> Ptr GLfixed -> 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 ()
glMultiTexCoordPointerEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is <a>glMultiTexEnvfvEXT</a>.
glMultiTexEnvfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexEnvfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexEnvivEXT</a>.
glMultiTexEnviEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexEnvivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexGendvEXT</a>.
glMultiTexGendEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLdouble -> m ()
glMultiTexGendvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexGenfvEXT</a>.
glMultiTexGenfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexGenfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexGenivEXT</a>.
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
--   <a>glMultiTexParameterfvEXT</a>.
glMultiTexParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   <a>glMultiTexParameterivEXT</a>.
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 ()
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 ()
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 ()
glMulticastWaitSyncNV :: MonadIO m => GLuint -> GLbitfield -> m ()
glNamedBufferAttachMemoryNV :: MonadIO m => GLuint -> GLuint -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()
glNamedBufferDataEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()
glNamedBufferPageCommitmentARB :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> m ()
glNamedBufferPageCommitmentEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | This command is an alias for <a>glNamedBufferStorage</a>.
glNamedBufferStorageEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()
glNamedBufferStorageExternalEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLeglClientBufferEXT -> GLbitfield -> m ()
glNamedBufferStorageMemEXT :: MonadIO m => GLuint -> GLsizeiptr -> GLuint -> GLuint64 -> m ()

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

-- | This command is an alias for <a>glNamedBufferSubData</a>.
glNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()
glNamedCopyBufferSubDataEXT :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glNamedFramebufferParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glNamedFramebufferRenderbufferEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()
glNamedFramebufferSampleLocationsfvARB :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedFramebufferSampleLocationsfvNV :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glNamedFramebufferSamplePositionsfvAMD :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()
glNamedFramebufferTextureLayerEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is
--   <a>glNamedProgramLocalParameter4dvEXT</a>.
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
--   <a>glNamedProgramLocalParameter4fvEXT</a>.
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
--   <a>glNamedProgramLocalParameterI4ivEXT</a>.
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
--   <a>glNamedProgramLocalParameterI4uivEXT</a>.
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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleAdvancedAMD :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleCoverageEXT :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedRenderbufferStorageMultisampleEXT :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glNamedStringARB :: MonadIO m => GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()
glNewObjectBufferATI :: MonadIO m => GLsizei -> Ptr a -> GLenum -> m GLuint

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glNormal3fVertex3fSUN :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glNormal3fVertex3fvSUN :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glNormal3hvNV</a>.
glNormal3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glNormal3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormal3x :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glNormal3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glNormal3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glNormalFormatNV :: MonadIO m => GLenum -> GLsizei -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> 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 ()
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 <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for <a>glObjectLabel</a>.
glObjectLabelKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | This command is an alias for <a>glObjectPtrLabel</a>.
glObjectPtrLabelKHR :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()
glObjectPurgeableAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> m GLenum
glObjectUnpurgeableAPPLE :: MonadIO m => GLenum -> GLuint -> GLenum -> m GLenum

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glOrthof :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glOrthofOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glOrthox :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glOrthoxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glPNTrianglesfATI :: MonadIO m => GLenum -> GLfloat -> m ()
glPNTrianglesiATI :: MonadIO m => GLenum -> GLint -> m ()
glPassTexCoordATI :: MonadIO m => GLuint -> GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()
glPassThroughxOES :: MonadIO m => GLfixed -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for <a>glPatchParameteri</a>.
glPatchParameteriEXT :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for <a>glPatchParameteri</a>.
glPatchParameteriOES :: MonadIO m => GLenum -> GLint -> 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | This command is an alias for <a>glPauseTransformFeedback</a>.
glPauseTransformFeedbackNV :: MonadIO m => m ()
glPixelDataRangeNV :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()
glPixelMapx :: MonadIO m => GLenum -> GLint -> Ptr GLfixed -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()
glPixelStorex :: MonadIO m => GLenum -> 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 ()
glPixelTexGenSGIX :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()
glPixelTransferxOES :: MonadIO m => GLenum -> GLfixed -> 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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()
glPixelZoomxOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glPointAlongPathNV :: MonadIO m => GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterf</a>.
glPointParameterfARB :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterf</a>.
glPointParameterfEXT :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterf</a>.
glPointParameterfSGIS :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterfv</a>.
glPointParameterfvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterfv</a>.
glPointParameterfvEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterfv</a>.
glPointParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for <a>glPointParameteri</a>.
glPointParameteriNV :: MonadIO m => GLenum -> GLint -> m ()

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

-- | This command is an alias for <a>glPointParameteriv</a>.
glPointParameterivNV :: MonadIO m => GLenum -> Ptr GLint -> m ()
glPointParameterx :: MonadIO m => GLenum -> GLfixed -> m ()
glPointParameterxOES :: MonadIO m => GLenum -> GLfixed -> m ()
glPointParameterxv :: MonadIO m => GLenum -> Ptr GLfixed -> m ()
glPointParameterxvOES :: MonadIO m => GLenum -> Ptr GLfixed -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()
glPointSizePointerOES :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glPointSizex :: MonadIO m => GLfixed -> m ()
glPointSizexOES :: MonadIO m => GLfixed -> m ()
glPollAsyncSGIX :: MonadIO m => Ptr GLuint -> m GLint
glPollInstrumentsSGIX :: MonadIO m => Ptr GLint -> m GLint

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

-- | This command is an alias for <a>glPolygonMode</a>.
glPolygonModeNV :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()
glPolygonOffsetClamp :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glPolygonOffsetClamp</a>.
glPolygonOffsetClampEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glPolygonOffsetEXT :: MonadIO m => GLfloat -> GLfloat -> m ()
glPolygonOffsetx :: MonadIO m => GLfixed -> GLfixed -> m ()
glPolygonOffsetxOES :: MonadIO m => GLfixed -> GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | This command is an alias for <a>glPopDebugGroup</a>.
glPopDebugGroupKHR :: MonadIO m => m ()
glPopGroupMarkerEXT :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => 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 ()
glPrimitiveBoundingBox :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glPrimitiveBoundingBox</a>.
glPrimitiveBoundingBoxARB :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glPrimitiveBoundingBox</a>.
glPrimitiveBoundingBoxEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glPrimitiveBoundingBox</a>.
glPrimitiveBoundingBoxOES :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()
glPrimitiveRestartIndexNV :: MonadIO m => GLuint -> m ()
glPrimitiveRestartNV :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glPrioritizeTextures</a>.
glPrioritizeTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLclampf -> m ()
glPrioritizeTexturesxOES :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfixed -> m ()

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

-- | This command is an alias for <a>glProgramBinary</a>.
glProgramBinaryOES :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLint -> 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 ()

-- | The vector equivalent of this command is
--   <a>glProgramEnvParameter4dvARB</a>.
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
--   <a>glProgramEnvParameter4fvARB</a>.
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
--   <a>glProgramEnvParameterI4ivNV</a>.
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
--   <a>glProgramEnvParameterI4uivNV</a>.
glProgramEnvParameterI4uiNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramEnvParameterI4uivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glProgramEnvParameters4fvEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> 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
--   <a>glProgramLocalParameter4dvARB</a>.
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
--   <a>glProgramLocalParameter4fvARB</a>.
glProgramLocalParameter4fARB :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramLocalParameter4fvARB :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   <a>glProgramLocalParameterI4ivNV</a>.
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
--   <a>glProgramLocalParameterI4uivNV</a>.
glProgramLocalParameterI4uiNV :: MonadIO m => GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramLocalParameterI4uivNV :: MonadIO m => GLenum -> GLuint -> Ptr GLuint -> m ()
glProgramLocalParameters4fvEXT :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramLocalParametersI4ivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLint -> m ()
glProgramLocalParametersI4uivNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   <a>glProgramNamedParameter4dvNV</a>.
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
--   <a>glProgramNamedParameter4fvNV</a>.
glProgramNamedParameter4fNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramNamedParameter4fvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   <a>glProgramParameter4dvNV</a>.
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
--   <a>glProgramParameter4fvNV</a>.
glProgramParameter4fNV :: MonadIO m => GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glProgramParameter4fvNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

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

-- | This command is an alias for <a>glProgramParameteri</a>.
glProgramParameteriARB :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | This command is an alias for <a>glProgramParameteri</a>.
glProgramParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()
glProgramParameters4dvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> m ()
glProgramParameters4fvNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> m ()
glProgramPathFragmentInputGenNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> m ()
glProgramStringARB :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr a -> m ()
glProgramSubroutineParametersuivNV :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform1d :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> m ()
glProgramUniform1dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform1dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform1f</a>.
glProgramUniform1fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform1fv</a>.
glProgramUniform1fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()
glProgramUniform1i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> m ()
glProgramUniform1i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> m ()
glProgramUniform1i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform1i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()

-- | This command is an alias for <a>glProgramUniform1i</a>.
glProgramUniform1iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()

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

-- | This command is an alias for <a>glProgramUniform1iv</a>.
glProgramUniform1ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()
glProgramUniform1ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniform1ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniform1ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform1ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for <a>glProgramUniform1ui</a>.
glProgramUniform1uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

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

-- | This command is an alias for <a>glProgramUniform1uiv</a>.
glProgramUniform1uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform2d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> m ()
glProgramUniform2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform2f</a>.
glProgramUniform2fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform2fv</a>.
glProgramUniform2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()
glProgramUniform2i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> m ()
glProgramUniform2i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform2i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform2i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()

-- | This command is an alias for <a>glProgramUniform2i</a>.
glProgramUniform2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

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

-- | This command is an alias for <a>glProgramUniform2iv</a>.
glProgramUniform2ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()
glProgramUniform2ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> m ()
glProgramUniform2ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform2ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform2ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for <a>glProgramUniform2ui</a>.
glProgramUniform2uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

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

-- | This command is an alias for <a>glProgramUniform2uiv</a>.
glProgramUniform2uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform3d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform3f</a>.
glProgramUniform3fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform3fv</a>.
glProgramUniform3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramUniform3i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> m ()
glProgramUniform3i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform3i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform3i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()

-- | This command is an alias for <a>glProgramUniform3i</a>.
glProgramUniform3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

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

-- | This command is an alias for <a>glProgramUniform3iv</a>.
glProgramUniform3ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()
glProgramUniform3ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glProgramUniform3ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform3ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform3ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for <a>glProgramUniform3ui</a>.
glProgramUniform3uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

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

-- | This command is an alias for <a>glProgramUniform3uiv</a>.
glProgramUniform3uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniform4d :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dEXT :: MonadIO m => GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glProgramUniform4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()
glProgramUniform4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform4f</a>.
glProgramUniform4fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform4fv</a>.
glProgramUniform4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glProgramUniform4i64ARB :: MonadIO m => GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
glProgramUniform4i64NV :: MonadIO m => GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glProgramUniform4i64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64 -> m ()
glProgramUniform4i64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> m ()

-- | This command is an alias for <a>glProgramUniform4i</a>.
glProgramUniform4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

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

-- | This command is an alias for <a>glProgramUniform4iv</a>.
glProgramUniform4ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glProgramUniform4ui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glProgramUniform4ui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glProgramUniform4ui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniform4ui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for <a>glProgramUniform4ui</a>.
glProgramUniform4uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

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

-- | This command is an alias for <a>glProgramUniform4uiv</a>.
glProgramUniform4uivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformHandleui64ARB :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()

-- | This command is an alias for <a>glProgramUniformHandleui64ARB</a>.
glProgramUniformHandleui64IMG :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64NV :: MonadIO m => GLuint -> GLint -> GLuint64 -> m ()
glProgramUniformHandleui64vARB :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | This command is an alias for <a>glProgramUniformHandleui64vARB</a>.
glProgramUniformHandleui64vIMG :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniformHandleui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix2fv</a>.
glProgramUniformMatrix2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2x3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix2x3fv</a>.
glProgramUniformMatrix2x3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix2x4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix2x4fv</a>.
glProgramUniformMatrix2x4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix3fv</a>.
glProgramUniformMatrix3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3x2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix3x2fv</a>.
glProgramUniformMatrix3x2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix3x4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix3x4fv</a>.
glProgramUniformMatrix3x4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix4fv</a>.
glProgramUniformMatrix4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4x2dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix4x2fv</a>.
glProgramUniformMatrix4x2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()
glProgramUniformMatrix4x3dvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniformMatrix4x3fv</a>.
glProgramUniformMatrix4x3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformui64NV :: MonadIO m => GLuint -> GLint -> GLuint64EXT -> m ()
glProgramUniformui64vNV :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glProgramVertexLimitNV :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | This command is an alias for <a>glProvokingVertex</a>.
glProvokingVertexEXT :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()
glPushClientAttribDefaultEXT :: MonadIO m => GLbitfield -> m ()

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

-- | This command is an alias for <a>glPushDebugGroup</a>.
glPushDebugGroupKHR :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()
glPushGroupMarkerEXT :: MonadIO m => GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

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

-- | This command is an alias for <a>glQueryCounter</a>.
glQueryCounterEXT :: MonadIO m => GLuint -> GLenum -> m ()
glQueryMatrixxOES :: MonadIO m => Ptr GLfixed -> Ptr GLint -> m GLbitfield
glQueryObjectParameteruiAMD :: MonadIO m => GLenum -> GLuint -> GLenum -> GLuint -> m ()
glQueryResourceNV :: MonadIO m => GLenum -> GLint -> GLuint -> Ptr GLint -> m GLint
glQueryResourceTagNV :: MonadIO m => GLint -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()
glRasterPos2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glRasterPos2xvOES :: MonadIO m => Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()
glRasterPos3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glRasterPos3xvOES :: MonadIO m => Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()
glRasterPos4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glRasterPos4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glRasterSamplesEXT :: MonadIO m => GLuint -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()
glReadBufferIndexedEXT :: MonadIO m => GLenum -> GLint -> m ()
glReadBufferNV :: MonadIO m => GLenum -> m ()
glReadInstrumentsSGIX :: MonadIO m => GLint -> m ()

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

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

-- | This command is an alias for <a>glReadnPixels</a>.
glReadnPixelsARB :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for <a>glReadnPixels</a>.
glReadnPixelsEXT :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for <a>glReadnPixels</a>.
glReadnPixelsKHR :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()
glRectxOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glRectxvOES :: MonadIO m => Ptr GLfixed -> Ptr GLfixed -> m ()
glReferencePlaneSGIX :: MonadIO m => Ptr GLdouble -> m ()
glReleaseKeyedMutexWin32EXT :: MonadIO m => GLuint -> GLuint64 -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()
glRenderGpuMaskNV :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glRenderbufferStorage</a>.
glRenderbufferStorageEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleANGLE :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleAPPLE :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleAdvancedAMD :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glRenderbufferStorageMultisample</a>.
glRenderbufferStorageMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageMultisampleIMG :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glRenderbufferStorageMultisample</a>.
glRenderbufferStorageMultisampleNV :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glRenderbufferStorageOES :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()
glReplacementCodePointerSUN :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr a) -> m ()
glReplacementCodeubSUN :: MonadIO m => GLubyte -> m ()
glReplacementCodeubvSUN :: MonadIO m => Ptr GLubyte -> 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 ()
glReplacementCodeuiSUN :: MonadIO m => GLuint -> 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 ()
glReplacementCodeuivSUN :: MonadIO m => Ptr GLuint -> m ()
glReplacementCodeusSUN :: MonadIO m => GLushort -> m ()
glReplacementCodeusvSUN :: MonadIO m => Ptr GLushort -> m ()
glRequestResidentProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glResetHistogram :: MonadIO m => GLenum -> m ()

-- | This command is an alias for <a>glResetHistogram</a>.
glResetHistogramEXT :: MonadIO m => GLenum -> m ()
glResetMemoryObjectParameterNV :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glResetMinmax :: MonadIO m => GLenum -> m ()

-- | This command is an alias for <a>glResetMinmax</a>.
glResetMinmaxEXT :: MonadIO m => GLenum -> m ()
glResizeBuffersMESA :: MonadIO m => m ()
glResolveDepthValuesNV :: MonadIO m => m ()
glResolveMultisampleFramebufferAPPLE :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | This command is an alias for <a>glResumeTransformFeedback</a>.
glResumeTransformFeedbackNV :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glRotatex :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glRotatexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | This command is an alias for <a>glSampleCoverage</a>.
glSampleCoverageARB :: MonadIO m => GLfloat -> GLboolean -> m ()
glSampleCoveragex :: MonadIO m => GLclampx -> GLboolean -> m ()
glSampleCoveragexOES :: MonadIO m => GLclampx -> GLboolean -> m ()
glSampleMapATI :: MonadIO m => GLuint -> GLuint -> GLenum -> m ()
glSampleMaskEXT :: MonadIO m => GLclampf -> GLboolean -> m ()
glSampleMaskIndexedNV :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | This command is an alias for <a>glSampleMaskEXT</a>.
glSampleMaskSGIS :: MonadIO m => GLclampf -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()
glSamplePatternEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for <a>glSamplePatternEXT</a>.
glSamplePatternSGIS :: MonadIO m => GLenum -> m ()

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

-- | This command is an alias for <a>glSamplerParameterIiv</a>.
glSamplerParameterIivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glSamplerParameterIiv</a>.
glSamplerParameterIivOES :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glSamplerParameterIuiv</a>.
glSamplerParameterIuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glSamplerParameterIuiv</a>.
glSamplerParameterIuivOES :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

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

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glScalex :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glScalexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

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

-- | This command is an alias for <a>glScissorArrayv</a>.
glScissorArrayvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glScissorArrayv</a>.
glScissorArrayvOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()
glScissorExclusiveArrayvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()
glScissorExclusiveNV :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glScissorIndexed</a>.
glScissorIndexedNV :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glScissorIndexed</a>.
glScissorIndexedOES :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

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

-- | This command is an alias for <a>glScissorIndexedv</a>.
glScissorIndexedvNV :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glScissorIndexedv</a>.
glScissorIndexedvOES :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3bvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3b</a>.
glSecondaryColor3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | This command is an alias for <a>glSecondaryColor3bv</a>.
glSecondaryColor3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3dvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3d</a>.
glSecondaryColor3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glSecondaryColor3dv</a>.
glSecondaryColor3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3fvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3f</a>.
glSecondaryColor3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glSecondaryColor3fv</a>.
glSecondaryColor3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glSecondaryColor3hvNV</a>.
glSecondaryColor3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glSecondaryColor3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3ivEXT</a>. This command is an alias for
--   <a>glSecondaryColor3i</a>.
glSecondaryColor3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | This command is an alias for <a>glSecondaryColor3iv</a>.
glSecondaryColor3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3svEXT</a>. This command is an alias for
--   <a>glSecondaryColor3s</a>.
glSecondaryColor3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | This command is an alias for <a>glSecondaryColor3sv</a>.
glSecondaryColor3svEXT :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3ubvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3ub</a>.
glSecondaryColor3ubEXT :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | This command is an alias for <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ubvEXT :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3uivEXT</a>. This command is an alias for
--   <a>glSecondaryColor3ui</a>.
glSecondaryColor3uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | This command is an alias for <a>glSecondaryColor3uiv</a>.
glSecondaryColor3uivEXT :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3usvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3us</a>.
glSecondaryColor3usEXT :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | This command is an alias for <a>glSecondaryColor3usv</a>.
glSecondaryColor3usvEXT :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

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

-- | This command is an alias for <a>glSecondaryColorPointer</a>.
glSecondaryColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glSecondaryColorPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glSelectPerfMonitorCountersAMD :: MonadIO m => GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> m ()
glSemaphoreParameterui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

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

-- | This command is an alias for <a>glSeparableFilter2D</a>.
glSeparableFilter2DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> m ()
glSetFenceAPPLE :: MonadIO m => GLuint -> m ()
glSetFenceNV :: MonadIO m => GLuint -> GLenum -> m ()
glSetFragmentShaderConstantATI :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glSetInvariantEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glSetLocalConstantEXT :: MonadIO m => GLuint -> GLenum -> Ptr a -> m ()
glSetMultisamplefvAMD :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> 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 ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | This command is an alias for <a>glShaderSource</a>.
glShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> 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 ()
glSharpenTexFuncSGIS :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()
glSignalSemaphoreEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> m ()
glSignalSemaphoreui64NVX :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()
glSignalVkFenceNV :: MonadIO m => GLuint64 -> m ()
glSignalVkSemaphoreNV :: MonadIO m => GLuint64 -> m ()
glSpecializeShader :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glSpecializeShader</a>.
glSpecializeShaderARB :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> 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 ()
glStartInstrumentsSGIX :: MonadIO m => m ()
glStartTilingQCOM :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> m ()
glStateCaptureNV :: MonadIO m => GLuint -> GLenum -> m ()
glStencilClearTagEXT :: MonadIO m => GLsizei -> GLuint -> m ()
glStencilFillPathInstancedNV :: MonadIO m => GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> m ()
glStencilFillPathNV :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()
glStencilFuncSeparateATI :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

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

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

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

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

-- | This command is an alias for <a>glStencilOpSeparate</a>.
glStencilOpSeparateATI :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()
glStencilOpValueAMD :: MonadIO m => 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 ()
glStopInstrumentsSGIX :: MonadIO m => GLint -> m ()
glStringMarkerGREMEDY :: MonadIO m => GLsizei -> Ptr a -> m ()
glSubpixelPrecisionBiasNV :: MonadIO m => GLuint -> GLuint -> m ()
glSwizzleEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glSyncTextureINTEL :: MonadIO m => GLuint -> m ()
glTagSampleBufferSGIX :: MonadIO m => m ()

-- | The vector equivalent of this command is <a>glTangent3bvEXT</a>.
glTangent3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glTangent3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is <a>glTangent3dvEXT</a>.
glTangent3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glTangent3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glTangent3fvEXT</a>.
glTangent3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glTangent3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glTangent3ivEXT</a>.
glTangent3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()
glTangent3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glTangent3svEXT</a>.
glTangent3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glTangent3svEXT :: MonadIO m => Ptr GLshort -> m ()
glTangentPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glTbufferMask3DFX :: MonadIO m => GLuint -> m ()
glTessellationFactorAMD :: MonadIO m => GLfloat -> m ()
glTessellationModeAMD :: MonadIO m => GLenum -> m ()
glTestFenceAPPLE :: MonadIO m => GLuint -> m GLboolean
glTestFenceNV :: MonadIO m => GLuint -> m GLboolean
glTestObjectAPPLE :: MonadIO m => GLenum -> GLuint -> m GLboolean
glTexAttachMemoryNV :: MonadIO m => GLenum -> GLuint -> GLuint64 -> m ()

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

-- | This command is an alias for <a>glTexBuffer</a>.
glTexBufferARB :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glTexBuffer</a>.
glTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glTexBuffer</a>.
glTexBufferOES :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

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

-- | This command is an alias for <a>glTexBufferRange</a>.
glTexBufferRangeEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | This command is an alias for <a>glTexBufferRange</a>.
glTexBufferRangeOES :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTexBumpParameterfvATI :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glTexBumpParameterivATI :: MonadIO m => GLenum -> Ptr GLint -> m ()
glTexCoord1bOES :: MonadIO m => GLbyte -> m ()
glTexCoord1bvOES :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glTexCoord1hvNV</a>.
glTexCoord1hNV :: MonadIO m => GLhalfNV -> m ()
glTexCoord1hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoord1xOES :: MonadIO m => GLfixed -> m ()
glTexCoord1xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoord2bOES :: MonadIO m => GLbyte -> GLbyte -> m ()
glTexCoord2bvOES :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> 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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glTexCoord2hvNV</a>.
glTexCoord2hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> m ()
glTexCoord2hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoord2xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glTexCoord2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoord3bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glTexCoord3bvOES :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glTexCoord3hvNV</a>.
glTexCoord3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glTexCoord3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoord3xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glTexCoord3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoord4bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glTexCoord4bvOES :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> 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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glTexCoord4hvNV</a>.
glTexCoord4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glTexCoord4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()
glTexCoord4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> GLfixed -> m ()
glTexCoord4xvOES :: MonadIO m => Ptr GLfixed -> m ()
glTexCoordFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> 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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> 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 ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexEnvx :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexEnvxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexEnvxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexEnvxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexFilterFuncSGIS :: MonadIO m => GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glTexGenfOES :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glTexGenfvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glTexGeniOES :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexGenivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexGenxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexGenxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexImage2DMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()

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

-- | This command is an alias for <a>glTexImage3D</a>.
glTexImage3DEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexImage3DMultisampleCoverageNV :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTexImage3DOES :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTexImage4DSGIS :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()
glTexPageCommitmentARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | This command is an alias for <a>glTexPageCommitmentARB</a>.
glTexPageCommitmentEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

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

-- | This command is an alias for <a>glTexParameterIiv</a>.
glTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glTexParameterIiv</a>.
glTexParameterIivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glTexParameterIuiv</a>.
glTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glTexParameterIuiv</a>.
glTexParameterIuivOES :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glTexParameterx :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexParameterxOES :: MonadIO m => GLenum -> GLenum -> GLfixed -> m ()
glTexParameterxv :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexParameterxvOES :: MonadIO m => GLenum -> GLenum -> Ptr GLfixed -> m ()
glTexRenderbufferNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | This command is an alias for <a>glTexStorage1D</a>.
glTexStorage1DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glTexStorage2D</a>.
glTexStorage2DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glTexStorage3D</a>.
glTexStorage3DEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | This command is an alias for <a>glTexStorage3DMultisample</a>.
glTexStorage3DMultisampleOES :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> 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 ()
glTexStorageSparseAMD :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()

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

-- | This command is an alias for <a>glTexSubImage1D</a>.
glTexSubImage1DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

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

-- | This command is an alias for <a>glTexSubImage2D</a>.
glTexSubImage2DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

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

-- | This command is an alias for <a>glTexSubImage3D</a>.
glTexSubImage3DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTexSubImage3DOES :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTexSubImage4DSGIS :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()
glTextureAttachMemoryNV :: MonadIO m => GLuint -> GLuint -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBarrier :: MonadIO m => m ()
glTextureBarrierNV :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()
glTextureBufferEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTextureBufferRangeEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTextureColorMaskSGIS :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()
glTextureFoveationParametersQCOM :: MonadIO m => GLuint -> GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> 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 ()
glTextureImage2DMultisampleCoverageNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage2DMultisampleNV :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureImage3DEXT :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> 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 ()
glTextureLightEXT :: MonadIO m => GLenum -> m ()
glTextureMaterialEXT :: MonadIO m => GLenum -> GLenum -> m ()
glTextureNormalEXT :: MonadIO m => GLenum -> m ()
glTexturePageCommitmentEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | The vector equivalent of this command is
--   <a>glTextureParameterfvEXT</a>.
glTextureParameterfEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()
glTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()

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

-- | The vector equivalent of this command is
--   <a>glTextureParameterivEXT</a>.
glTextureParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glTextureParameterivEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()
glTextureRangeAPPLE :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()
glTextureRenderbufferEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()
glTextureStorage1DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()
glTextureStorage2DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage2DMultisampleEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()
glTextureStorage3DEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
glTextureStorage3DMultisampleEXT :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> 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 ()
glTextureStorageSparseAMD :: MonadIO m => GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glTextureView</a>.
glTextureViewEXT :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glTextureView</a>.
glTextureViewOES :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glTrackMatrixNV :: MonadIO m => GLenum -> GLuint -> GLenum -> GLenum -> m ()
glTransformFeedbackAttribsNV :: MonadIO m => GLsizei -> Ptr GLint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()
glTransformFeedbackStreamAttribsNV :: MonadIO m => GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | This command is an alias for <a>glTransformFeedbackVaryings</a>.
glTransformFeedbackVaryingsEXT :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()
glTransformFeedbackVaryingsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> GLenum -> m ()
glTransformPathNV :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glTranslatex :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glTranslatexOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | This command is an alias for <a>glUniform1f</a>.
glUniform1fARB :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniform1fv</a>.
glUniform1fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()
glUniform1i64ARB :: MonadIO m => GLint -> GLint64 -> m ()
glUniform1i64NV :: MonadIO m => GLint -> GLint64EXT -> m ()
glUniform1i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform1i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()

-- | This command is an alias for <a>glUniform1i</a>.
glUniform1iARB :: MonadIO m => GLint -> GLint -> m ()

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

-- | This command is an alias for <a>glUniform1iv</a>.
glUniform1ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()
glUniform1ui64ARB :: MonadIO m => GLint -> GLuint64 -> m ()
glUniform1ui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniform1ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform1ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for <a>glUniform1ui</a>.
glUniform1uiEXT :: MonadIO m => GLint -> GLuint -> m ()

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

-- | This command is an alias for <a>glUniform1uiv</a>.
glUniform1uivEXT :: 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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glUniform2f</a>.
glUniform2fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniform2fv</a>.
glUniform2fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()
glUniform2i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> m ()
glUniform2i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> m ()
glUniform2i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform2i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()

-- | This command is an alias for <a>glUniform2i</a>.
glUniform2iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()

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

-- | This command is an alias for <a>glUniform2iv</a>.
glUniform2ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()
glUniform2ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> m ()
glUniform2ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform2ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform2ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for <a>glUniform2ui</a>.
glUniform2uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

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

-- | This command is an alias for <a>glUniform2uiv</a>.
glUniform2uivEXT :: 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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glUniform3f</a>.
glUniform3fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniform3fv</a>.
glUniform3fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glUniform3i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> GLint64 -> m ()
glUniform3i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform3i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform3i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()

-- | This command is an alias for <a>glUniform3i</a>.
glUniform3iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

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

-- | This command is an alias for <a>glUniform3iv</a>.
glUniform3ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()
glUniform3ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glUniform3ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform3ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform3ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for <a>glUniform3ui</a>.
glUniform3uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

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

-- | This command is an alias for <a>glUniform3uiv</a>.
glUniform3uivEXT :: 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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glUniform4f</a>.
glUniform4fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniform4fv</a>.
glUniform4fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()
glUniform4i64ARB :: MonadIO m => GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> m ()
glUniform4i64NV :: MonadIO m => GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> m ()
glUniform4i64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint64 -> m ()
glUniform4i64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLint64EXT -> m ()

-- | This command is an alias for <a>glUniform4i</a>.
glUniform4iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

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

-- | This command is an alias for <a>glUniform4iv</a>.
glUniform4ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()
glUniform4ui64ARB :: MonadIO m => GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> m ()
glUniform4ui64NV :: MonadIO m => GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> m ()
glUniform4ui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniform4ui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()

-- | This command is an alias for <a>glUniform4ui</a>.
glUniform4uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

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

-- | This command is an alias for <a>glUniform4uiv</a>.
glUniform4uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformBufferEXT :: MonadIO m => GLuint -> GLint -> GLuint -> m ()
glUniformHandleui64ARB :: MonadIO m => GLint -> GLuint64 -> m ()

-- | This command is an alias for <a>glUniformHandleui64ARB</a>.
glUniformHandleui64IMG :: MonadIO m => GLint -> GLuint64 -> m ()
glUniformHandleui64NV :: MonadIO m => GLint -> GLuint64 -> m ()
glUniformHandleui64vARB :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()

-- | This command is an alias for <a>glUniformHandleui64vARB</a>.
glUniformHandleui64vIMG :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniformHandleui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64 -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix2fv</a>.
glUniformMatrix2fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix2x3fv</a>.
glUniformMatrix2x3fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix2x4fv</a>.
glUniformMatrix2x4fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix3fv</a>.
glUniformMatrix3fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix3x2fv</a>.
glUniformMatrix3x2fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix3x4fv</a>.
glUniformMatrix3x4fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix4fv</a>.
glUniformMatrix4fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix4x2fv</a>.
glUniformMatrix4x2fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix4x3fv</a>.
glUniformMatrix4x3fvNV :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()
glUniformui64NV :: MonadIO m => GLint -> GLuint64EXT -> m ()
glUniformui64vNV :: MonadIO m => GLint -> GLsizei -> Ptr GLuint64EXT -> m ()
glUnlockArraysEXT :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | This command is an alias for <a>glUnmapBuffer</a>.
glUnmapBufferARB :: MonadIO m => GLenum -> m GLboolean

-- | This command is an alias for <a>glUnmapBuffer</a>.
glUnmapBufferOES :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean
glUnmapNamedBufferEXT :: MonadIO m => GLuint -> m GLboolean
glUnmapObjectBufferATI :: MonadIO m => GLuint -> m ()
glUnmapTexture2DINTEL :: MonadIO m => GLuint -> GLint -> m ()
glUpdateObjectBufferATI :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> m ()
glUploadGpuMaskNVX :: MonadIO m => GLbitfield -> m ()

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

-- | This command is an alias for <a>glUseProgram</a>.
glUseProgramObjectARB :: MonadIO m => GLhandleARB -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()
glUseProgramStagesEXT :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()
glUseShaderProgramEXT :: MonadIO m => GLenum -> GLuint -> 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
glVDPAURegisterVideoSurfaceWithPictureStructureNV :: MonadIO m => Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m GLvdpauSurfaceNV
glVDPAUSurfaceAccessNV :: MonadIO m => GLvdpauSurfaceNV -> GLenum -> m ()
glVDPAUUnmapSurfacesNV :: MonadIO m => GLsizei -> Ptr GLvdpauSurfaceNV -> m ()
glVDPAUUnregisterSurfaceNV :: MonadIO m => GLvdpauSurfaceNV -> m ()

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

-- | This command is an alias for <a>glValidateProgram</a>.
glValidateProgramARB :: MonadIO m => GLhandleARB -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()
glValidateProgramPipelineEXT :: MonadIO m => GLuint -> m ()
glVariantArrayObjectATI :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLuint -> 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 ()
glVertex2bOES :: MonadIO m => GLbyte -> GLbyte -> m ()
glVertex2bvOES :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertex2hvNV</a>.
glVertex2hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> m ()
glVertex2hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()
glVertex2xOES :: MonadIO m => GLfixed -> m ()
glVertex2xvOES :: MonadIO m => Ptr GLfixed -> m ()
glVertex3bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glVertex3bvOES :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertex3hvNV</a>.
glVertex3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertex3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()
glVertex3xOES :: MonadIO m => GLfixed -> GLfixed -> m ()
glVertex3xvOES :: MonadIO m => Ptr GLfixed -> m ()
glVertex4bOES :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()
glVertex4bvOES :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertex4hvNV</a>.
glVertex4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertex4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()
glVertex4xOES :: MonadIO m => GLfixed -> GLfixed -> GLfixed -> m ()
glVertex4xvOES :: MonadIO m => Ptr GLfixed -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexArrayBindVertexBufferEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glVertexArrayColorOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()
glVertexArrayEdgeFlagOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> GLintptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> 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 ()
glVertexArrayParameteriAPPLE :: MonadIO m => GLenum -> GLint -> m ()
glVertexArrayRangeAPPLE :: MonadIO m => GLsizei -> Ptr a -> m ()
glVertexArrayRangeNV :: MonadIO m => GLsizei -> Ptr a -> 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()
glVertexArrayVertexOffsetEXT :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1dvARB</a>.
--   This command is an alias for <a>glVertexAttrib1d</a>.
glVertexAttrib1dARB :: MonadIO m => GLuint -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1dvNV</a>.
--   This command is an alias for <a>glVertexAttrib1d</a>.
glVertexAttrib1dNV :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib1dv</a>.
glVertexAttrib1dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib1dv</a>.
glVertexAttrib1dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1fvARB</a>.
--   This command is an alias for <a>glVertexAttrib1f</a>.
glVertexAttrib1fARB :: MonadIO m => GLuint -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1fvNV</a>.
--   This command is an alias for <a>glVertexAttrib1f</a>.
glVertexAttrib1fNV :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib1fv</a>.
glVertexAttrib1fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib1fv</a>.
glVertexAttrib1fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1hvNV</a>.
glVertexAttrib1hNV :: MonadIO m => GLuint -> GLhalfNV -> m ()
glVertexAttrib1hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1svARB</a>.
--   This command is an alias for <a>glVertexAttrib1s</a>.
glVertexAttrib1sARB :: MonadIO m => GLuint -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1svNV</a>.
--   This command is an alias for <a>glVertexAttrib1s</a>.
glVertexAttrib1sNV :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib1sv</a>.
glVertexAttrib1svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib1sv</a>.
glVertexAttrib1svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2dvARB</a>.
--   This command is an alias for <a>glVertexAttrib2d</a>.
glVertexAttrib2dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2dvNV</a>.
--   This command is an alias for <a>glVertexAttrib2d</a>.
glVertexAttrib2dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib2dv</a>.
glVertexAttrib2dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib2dv</a>.
glVertexAttrib2dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2fvARB</a>.
--   This command is an alias for <a>glVertexAttrib2f</a>.
glVertexAttrib2fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2fvNV</a>.
--   This command is an alias for <a>glVertexAttrib2f</a>.
glVertexAttrib2fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib2fv</a>.
glVertexAttrib2fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib2fv</a>.
glVertexAttrib2fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2hvNV</a>.
glVertexAttrib2hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib2hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2svARB</a>.
--   This command is an alias for <a>glVertexAttrib2s</a>.
glVertexAttrib2sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2svNV</a>.
--   This command is an alias for <a>glVertexAttrib2s</a>.
glVertexAttrib2sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib2sv</a>.
glVertexAttrib2svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib2sv</a>.
glVertexAttrib2svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3dvARB</a>.
--   This command is an alias for <a>glVertexAttrib3d</a>.
glVertexAttrib3dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3dvNV</a>.
--   This command is an alias for <a>glVertexAttrib3d</a>.
glVertexAttrib3dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib3dv</a>.
glVertexAttrib3dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib3dv</a>.
glVertexAttrib3dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3fvARB</a>.
--   This command is an alias for <a>glVertexAttrib3f</a>.
glVertexAttrib3fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3fvNV</a>.
--   This command is an alias for <a>glVertexAttrib3f</a>.
glVertexAttrib3fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib3fv</a>.
glVertexAttrib3fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib3fv</a>.
glVertexAttrib3fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3hvNV</a>.
glVertexAttrib3hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib3hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3svARB</a>.
--   This command is an alias for <a>glVertexAttrib3s</a>.
glVertexAttrib3sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3svNV</a>.
--   This command is an alias for <a>glVertexAttrib3s</a>.
glVertexAttrib3sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib3sv</a>.
glVertexAttrib3svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib3sv</a>.
glVertexAttrib3svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nbv</a>.
glVertexAttrib4NbvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttrib4Niv</a>.
glVertexAttrib4NivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nsv</a>.
glVertexAttrib4NsvARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nub</a>.
glVertexAttrib4NubARB :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nubv</a>.
glVertexAttrib4NubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nuiv</a>.
glVertexAttrib4NuivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nusv</a>.
glVertexAttrib4NusvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4bv</a>.
glVertexAttrib4bvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4dvARB</a>.
--   This command is an alias for <a>glVertexAttrib4d</a>.
glVertexAttrib4dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4dvNV</a>.
--   This command is an alias for <a>glVertexAttrib4d</a>.
glVertexAttrib4dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib4dv</a>.
glVertexAttrib4dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib4dv</a>.
glVertexAttrib4dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4fvARB</a>.
--   This command is an alias for <a>glVertexAttrib4f</a>.
glVertexAttrib4fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4fvNV</a>.
--   This command is an alias for <a>glVertexAttrib4f</a>.
glVertexAttrib4fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib4fv</a>.
glVertexAttrib4fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib4fv</a>.
glVertexAttrib4fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4hvNV</a>.
glVertexAttrib4hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib4hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttrib4iv</a>.
glVertexAttrib4ivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is
--   <tt>glVertexAttrib4svARB</tt>. This command is an alias for
--   <a>glVertexAttrib4s</a>.
glVertexAttrib4sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <tt>glVertexAttrib4svNV</tt>.
--   This command is an alias for <a>glVertexAttrib4s</a>.
glVertexAttrib4sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <tt>glVertexAttrib4sv</tt>.
glVertexAttrib4svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <tt>glVertexAttrib4sv</tt>.
glVertexAttrib4svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4ubvNV</a>.
--   This command is an alias for <tt>glVertexAttrib4Nub</tt>.
glVertexAttrib4ubNV :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4ubv</a>.
glVertexAttrib4ubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for <tt>glVertexAttrib4Nubv</tt>.
glVertexAttrib4ubvNV :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttrib4uiv</a>.
glVertexAttrib4uivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for <a>glVertexAttrib4usv</a>.
glVertexAttrib4usvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()
glVertexAttribArrayObjectATI :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribDivisor</a>.
glVertexAttribDivisorANGLE :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribDivisor</a>.
glVertexAttribDivisorARB :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribDivisor</a>.
glVertexAttribDivisorEXT :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribDivisor</a>.
glVertexAttribDivisorNV :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glVertexAttribI1ivEXT</a>.
--   This command is an alias for <a>glVertexAttribI1i</a>.
glVertexAttribI1iEXT :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI1iv</a>.
glVertexAttribI1ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | The vector equivalent of this command is
--   <a>glVertexAttribI1uivEXT</a>. This command is an alias for
--   <a>glVertexAttribI1ui</a>.
glVertexAttribI1uiEXT :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI1uiv</a>.
glVertexAttribI1uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glVertexAttribI2ivEXT</a>.
--   This command is an alias for <a>glVertexAttribI2i</a>.
glVertexAttribI2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI2iv</a>.
glVertexAttribI2ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | The vector equivalent of this command is
--   <a>glVertexAttribI2uivEXT</a>. This command is an alias for
--   <a>glVertexAttribI2ui</a>.
glVertexAttribI2uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI2uiv</a>.
glVertexAttribI2uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glVertexAttribI3ivEXT</a>.
--   This command is an alias for <a>glVertexAttribI3i</a>.
glVertexAttribI3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI3iv</a>.
glVertexAttribI3ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | The vector equivalent of this command is
--   <a>glVertexAttribI3uivEXT</a>. This command is an alias for
--   <a>glVertexAttribI3ui</a>.
glVertexAttribI3uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI3uiv</a>.
glVertexAttribI3uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | This command is an alias for <a>glVertexAttribI4bv</a>.
glVertexAttribI4bvEXT :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glVertexAttribI4ivEXT</a>.
--   This command is an alias for <a>glVertexAttribI4i</a>.
glVertexAttribI4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI4iv</a>.
glVertexAttribI4ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttribI4sv</a>.
glVertexAttribI4svEXT :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttribI4ubv</a>.
glVertexAttribI4ubvEXT :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | The vector equivalent of this command is
--   <a>glVertexAttribI4uivEXT</a>. This command is an alias for
--   <a>glVertexAttribI4ui</a>.
glVertexAttribI4uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI4uiv</a>.
glVertexAttribI4uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for <a>glVertexAttribI4usv</a>.
glVertexAttribI4usvEXT :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexAttribIFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> m ()

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

-- | This command is an alias for <a>glVertexAttribIPointer</a>.
glVertexAttribIPointerEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL1d</a>.
glVertexAttribL1dEXT :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL1dv</a>.
glVertexAttribL1dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()
glVertexAttribL1i64NV :: MonadIO m => GLuint -> GLint64EXT -> m ()
glVertexAttribL1i64vNV :: MonadIO m => GLuint -> Ptr GLint64EXT -> m ()
glVertexAttribL1ui64ARB :: MonadIO m => GLuint -> GLuint64EXT -> m ()
glVertexAttribL1ui64NV :: MonadIO m => GLuint -> GLuint64EXT -> m ()
glVertexAttribL1ui64vARB :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()
glVertexAttribL1ui64vNV :: MonadIO m => GLuint -> Ptr GLuint64EXT -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL2d</a>.
glVertexAttribL2dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL2dv</a>.
glVertexAttribL2dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL3d</a>.
glVertexAttribL3dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL3dv</a>.
glVertexAttribL3dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL4d</a>.
glVertexAttribL4dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL4dv</a>.
glVertexAttribL4dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> 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 ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()
glVertexAttribLFormatNV :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> m ()

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

-- | This command is an alias for <tt>glVertexAttribLPointer</tt>.
glVertexAttribLPointerEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()
glVertexAttribParameteriAMD :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

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

-- | This command is an alias for <a>glVertexAttribPointer</a>.
glVertexAttribPointerARB :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> 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 ()
glVertexAttribs1hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> 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 ()
glVertexAttribs2hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> 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 ()
glVertexAttribs3hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> 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 ()
glVertexAttribs4hvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLhalfNV -> m ()
glVertexAttribs4svNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLshort -> m ()
glVertexAttribs4ubvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()
glVertexBlendARB :: MonadIO m => GLint -> m ()
glVertexBlendEnvfATI :: MonadIO m => GLenum -> GLfloat -> m ()
glVertexBlendEnviATI :: MonadIO m => GLenum -> GLint -> m ()
glVertexFormatNV :: MonadIO m => GLint -> GLenum -> GLsizei -> 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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glVertexPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()
glVertexPointerListIBM :: MonadIO m => GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> m ()
glVertexPointervINTEL :: MonadIO m => GLint -> GLenum -> Ptr (Ptr a) -> 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 ()
glVertexWeightPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is <a>glVertexWeightfvEXT</a>.
glVertexWeightfEXT :: MonadIO m => GLfloat -> m ()
glVertexWeightfvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexWeighthvNV</a>.
glVertexWeighthNV :: MonadIO m => GLhalfNV -> m ()
glVertexWeighthvNV :: MonadIO m => Ptr GLhalfNV -> 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 ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glViewportArrayv</a>.
glViewportArrayvNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glViewportArrayv</a>.
glViewportArrayvOES :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glViewportIndexedf</a>.
glViewportIndexedfNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glViewportIndexedf</a>.
glViewportIndexedfOES :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glViewportIndexedfv</a>.
glViewportIndexedfvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glViewportIndexedfv</a>.
glViewportIndexedfvOES :: MonadIO m => GLuint -> Ptr GLfloat -> m ()
glViewportPositionWScaleNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()
glViewportSwizzleNV :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()
glWaitSemaphoreEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLuint -> GLuint -> Ptr GLuint -> Ptr GLenum -> m ()
glWaitSemaphoreui64NVX :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | This command is an alias for <a>glWaitSync</a>.
glWaitSyncAPPLE :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()
glWaitVkSemaphoreNV :: MonadIO m => GLuint64 -> m ()
glWeightPathsNV :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()
glWeightPointerARB :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()
glWeightPointerOES :: 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 ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2dvARB</a>.
--   This command is an alias for <a>glWindowPos2d</a>.
glWindowPos2dARB :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2dvMESA</a>.
--   This command is an alias for <a>glWindowPos2d</a>.
glWindowPos2dMESA :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glWindowPos2dv</a>.
glWindowPos2dvARB :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glWindowPos2dv</a>.
glWindowPos2dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2fvARB</a>.
--   This command is an alias for <a>glWindowPos2f</a>.
glWindowPos2fARB :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2fvMESA</a>.
--   This command is an alias for <a>glWindowPos2f</a>.
glWindowPos2fMESA :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glWindowPos2fv</a>.
glWindowPos2fvARB :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glWindowPos2fv</a>.
glWindowPos2fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2ivARB</a>.
--   This command is an alias for <a>glWindowPos2i</a>.
glWindowPos2iARB :: MonadIO m => GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2ivMESA</a>.
--   This command is an alias for <a>glWindowPos2i</a>.
glWindowPos2iMESA :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | This command is an alias for <a>glWindowPos2iv</a>.
glWindowPos2ivARB :: MonadIO m => Ptr GLint -> m ()

-- | This command is an alias for <a>glWindowPos2iv</a>.
glWindowPos2ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2svARB</a>.
--   This command is an alias for <a>glWindowPos2s</a>.
glWindowPos2sARB :: MonadIO m => GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2svMESA</a>.
--   This command is an alias for <a>glWindowPos2s</a>.
glWindowPos2sMESA :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | This command is an alias for <a>glWindowPos2sv</a>.
glWindowPos2svARB :: MonadIO m => Ptr GLshort -> m ()

-- | This command is an alias for <a>glWindowPos2sv</a>.
glWindowPos2svMESA :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3dvARB</a>.
--   This command is an alias for <a>glWindowPos3d</a>.
glWindowPos3dARB :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3dvMESA</a>.
--   This command is an alias for <a>glWindowPos3d</a>.
glWindowPos3dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glWindowPos3dv</a>.
glWindowPos3dvARB :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glWindowPos3dv</a>.
glWindowPos3dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3fvARB</a>.
--   This command is an alias for <a>glWindowPos3f</a>.
glWindowPos3fARB :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3fvMESA</a>.
--   This command is an alias for <a>glWindowPos3f</a>.
glWindowPos3fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glWindowPos3fv</a>.
glWindowPos3fvARB :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glWindowPos3fv</a>.
glWindowPos3fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3ivARB</a>.
--   This command is an alias for <a>glWindowPos3i</a>.
glWindowPos3iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3ivMESA</a>.
--   This command is an alias for <a>glWindowPos3i</a>.
glWindowPos3iMESA :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | This command is an alias for <a>glWindowPos3iv</a>.
glWindowPos3ivARB :: MonadIO m => Ptr GLint -> m ()

-- | This command is an alias for <a>glWindowPos3iv</a>.
glWindowPos3ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3svARB</a>.
--   This command is an alias for <a>glWindowPos3s</a>.
glWindowPos3sARB :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3svMESA</a>.
--   This command is an alias for <a>glWindowPos3s</a>.
glWindowPos3sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | This command is an alias for <a>glWindowPos3sv</a>.
glWindowPos3svARB :: MonadIO m => Ptr GLshort -> m ()

-- | This command is an alias for <a>glWindowPos3sv</a>.
glWindowPos3svMESA :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glWindowPos4dvMESA</a>.
glWindowPos4dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glWindowPos4dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos4fvMESA</a>.
glWindowPos4fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glWindowPos4fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos4ivMESA</a>.
glWindowPos4iMESA :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glWindowPos4ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos4svMESA</a>.
glWindowPos4sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glWindowPos4svMESA :: MonadIO m => Ptr GLshort -> m ()
glWindowRectanglesEXT :: MonadIO m => GLenum -> GLsizei -> Ptr GLint -> m ()
glWriteMaskEXT :: MonadIO m => GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()


module Graphics.GL.ThreeDFX.Tbuffer

-- | Is the <a>3DFX_tbuffer</a> extension supported?
glGetThreeDFXTbuffer :: MonadIO m => m Bool

-- | Is the <a>3DFX_tbuffer</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetThreeDFXTbuffer</a> 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 <a>SUNX_constant_data</a> extension supported?
glGetSUNXConstantData :: MonadIO m => m Bool

-- | Is the <a>SUNX_constant_data</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSUNXConstantData</a> 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 <a>SUN_vertex</a> extension supported?
glGetSUNVertex :: MonadIO m => m Bool

-- | Is the <a>SUN_vertex</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSUNVertex</a> 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 <a>SUN_triangle_list</a> extension supported?
glGetSUNTriangleList :: MonadIO m => m Bool

-- | Is the <a>SUN_triangle_list</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSUNTriangleList</a> 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 <a>SUN_mesh_array</a> extension supported?
glGetSUNMeshArray :: MonadIO m => m Bool

-- | Is the <a>SUN_mesh_array</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSUNMeshArray</a> 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 <a>SUN_global_alpha</a> extension supported?
glGetSUNGlobalAlpha :: MonadIO m => m Bool

-- | Is the <a>SUN_global_alpha</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSUNGlobalAlpha</a> 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 <a>SGIX_tag_sample_buffer</a> extension supported?
glGetSGIXTagSampleBuffer :: MonadIO m => m Bool

-- | Is the <a>SGIX_tag_sample_buffer</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXTagSampleBuffer</a> in those cases
--   instead.
gl_SGIX_tag_sample_buffer :: Bool
glTagSampleBufferSGIX :: MonadIO m => m ()


module Graphics.GL.SGIX.Sprite

-- | Is the <a>SGIX_sprite</a> extension supported?
glGetSGIXSprite :: MonadIO m => m Bool

-- | Is the <a>SGIX_sprite</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXSprite</a> 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 <a>SGIX_reference_plane</a> extension supported?
glGetSGIXReferencePlane :: MonadIO m => m Bool

-- | Is the <a>SGIX_reference_plane</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXReferencePlane</a> 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 <a>SGIX_polynomial_ffd</a> extension supported?
glGetSGIXPolynomialFFD :: MonadIO m => m Bool

-- | Is the <a>SGIX_polynomial_ffd</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXPolynomialFFD</a> 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 <a>SGIX_pixel_texture</a> extension supported?
glGetSGIXPixelTexture :: MonadIO m => m Bool

-- | Is the <a>SGIX_pixel_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXPixelTexture</a> 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 <a>SGIX_list_priority</a> extension supported?
glGetSGIXListPriority :: MonadIO m => m Bool

-- | Is the <a>SGIX_list_priority</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXListPriority</a> 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 <a>SGIX_instruments</a> extension supported?
glGetSGIXInstruments :: MonadIO m => m Bool

-- | Is the <a>SGIX_instruments</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXInstruments</a> 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 <a>SGIX_igloo_interface</a> extension supported?
glGetSGIXIglooInterface :: MonadIO m => m Bool

-- | Is the <a>SGIX_igloo_interface</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXIglooInterface</a> in those cases
--   instead.
gl_SGIX_igloo_interface :: Bool
glIglooInterfaceSGIX :: MonadIO m => GLenum -> Ptr a -> m ()


module Graphics.GL.SGIX.Framezoom

-- | Is the <a>SGIX_framezoom</a> extension supported?
glGetSGIXFramezoom :: MonadIO m => m Bool

-- | Is the <a>SGIX_framezoom</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXFramezoom</a> 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 <a>SGIX_fragment_lighting</a> extension supported?
glGetSGIXFragmentLighting :: MonadIO m => m Bool

-- | Is the <a>SGIX_fragment_lighting</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGIXFragmentLighting</a> 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 <a>SGIX_flush_raster</a> extension supported?
glGetSGIXFlushRaster :: MonadIO m => m Bool

-- | Is the <a>SGIX_flush_raster</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXFlushRaster</a> in those cases instead.
gl_SGIX_flush_raster :: Bool
glFlushRasterSGIX :: MonadIO m => m ()


module Graphics.GL.SGIX.Async

-- | Is the <a>SGIX_async</a> extension supported?
glGetSGIXAsync :: MonadIO m => m Bool

-- | Is the <a>SGIX_async</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIXAsync</a> 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 <a>SGIS_texture_filter4</a> extension supported?
glGetSGISTextureFilter4 :: MonadIO m => m Bool

-- | Is the <a>SGIS_texture_filter4</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGISTextureFilter4</a> 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 <a>SGIS_texture_color_mask</a> extension supported?
glGetSGISTextureColorMask :: MonadIO m => m Bool

-- | Is the <a>SGIS_texture_color_mask</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGISTextureColorMask</a> 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 <a>SGIS_texture4D</a> extension supported?
glGetSGISTexture4D :: MonadIO m => m Bool

-- | Is the <a>SGIS_texture4D</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGISTexture4D</a> 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 <a>SGIS_sharpen_texture</a> extension supported?
glGetSGISSharpenTexture :: MonadIO m => m Bool

-- | Is the <a>SGIS_sharpen_texture</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGISSharpenTexture</a> 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 <a>SGIS_point_parameters</a> extension supported?
glGetSGISPointParameters :: MonadIO m => m Bool

-- | Is the <a>SGIS_point_parameters</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGISPointParameters</a> 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 <a>glPointParameterf</a>.
glPointParameterfSGIS :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterfv</a>.
glPointParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()


module Graphics.GL.SGIS.PixelTexture

-- | Is the <a>SGIS_pixel_texture</a> extension supported?
glGetSGISPixelTexture :: MonadIO m => m Bool

-- | Is the <a>SGIS_pixel_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGISPixelTexture</a> 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 <a>SGIS_multisample</a> extension supported?
glGetSGISMultisample :: MonadIO m => m Bool

-- | Is the <a>SGIS_multisample</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGISMultisample</a> 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 <a>glSampleMaskEXT</a>.
glSampleMaskSGIS :: MonadIO m => GLclampf -> GLboolean -> m ()

-- | This command is an alias for <a>glSamplePatternEXT</a>.
glSamplePatternSGIS :: MonadIO m => GLenum -> m ()


module Graphics.GL.SGIS.FogFunction

-- | Is the <a>SGIS_fog_function</a> extension supported?
glGetSGISFogFunction :: MonadIO m => m Bool

-- | Is the <a>SGIS_fog_function</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGISFogFunction</a> 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 <a>SGIS_detail_texture</a> extension supported?
glGetSGISDetailTexture :: MonadIO m => m Bool

-- | Is the <a>SGIS_detail_texture</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetSGISDetailTexture</a> 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 <a>SGI_color_table</a> extension supported?
glGetSGIColorTable :: MonadIO m => m Bool

-- | Is the <a>SGI_color_table</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetSGIColorTable</a> 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 <a>glColorTableParameterfv</a>.
glColorTableParameterfvSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

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

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

-- | This command is an alias for <a>glCopyColorTable</a>.
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 <a>PGI_misc_hints</a> extension supported?
glGetPGIMiscHints :: MonadIO m => m Bool

-- | Is the <a>PGI_misc_hints</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetPGIMiscHints</a> 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 <a>OVR_multiview</a> extension supported?
glGetOVRMultiview :: MonadIO m => m Bool

-- | Is the <a>OVR_multiview</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetOVRMultiview</a> 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 <a>OES_single_precision</a> extension supported?
glGetOESSinglePrecision :: MonadIO m => m Bool

-- | Is the <a>OES_single_precision</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetOESSinglePrecision</a> in those cases
--   instead.
gl_OES_single_precision :: Bool

-- | This command is an alias for <a>glClearDepthf</a>.
glClearDepthfOES :: MonadIO m => GLclampf -> m ()
glClipPlanefOES :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glDepthRangef</a>.
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 <a>OES_query_matrix</a> extension supported?
glGetOESQueryMatrix :: MonadIO m => m Bool

-- | Is the <a>OES_query_matrix</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetOESQueryMatrix</a> 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 <a>OES_fixed_point</a> extension supported?
glGetOESFixedPoint :: MonadIO m => m Bool

-- | Is the <a>OES_fixed_point</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetOESFixedPoint</a> 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 <a>OES_byte_coordinates</a> extension supported?
glGetOESByteCoordinates :: MonadIO m => m Bool

-- | Is the <a>OES_byte_coordinates</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetOESByteCoordinates</a> 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 <a>NVX_progress_fence</a> extension supported?
glGetNVXProgressFence :: MonadIO m => m Bool

-- | Is the <a>NVX_progress_fence</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVXProgressFence</a> 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 <a>NVX_linked_gpu_multicast</a> extension supported?
glGetNVXLinkedGPUMulticast :: MonadIO m => m Bool

-- | Is the <a>NVX_linked_gpu_multicast</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVXLinkedGPUMulticast</a> 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 <a>NVX_gpu_multicast2</a> extension supported?
glGetNVXGPUMulticast2 :: MonadIO m => m Bool

-- | Is the <a>NVX_gpu_multicast2</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVXGPUMulticast2</a> 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 <a>NVX_conditional_render</a> extension supported?
glGetNVXConditionalRender :: MonadIO m => m Bool

-- | Is the <a>NVX_conditional_render</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVXConditionalRender</a> in those cases
--   instead.
gl_NVX_conditional_render :: Bool
glBeginConditionalRenderNVX :: MonadIO m => GLuint -> m ()

-- | This command is an alias for <a>glEndConditionalRender</a>.
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 <a>NV_viewport_swizzle</a> extension supported?
glGetNVViewportSwizzle :: MonadIO m => m Bool

-- | Is the <a>NV_viewport_swizzle</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVViewportSwizzle</a> 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 <a>NV_video_capture</a> extension supported?
glGetNVVideoCapture :: MonadIO m => m Bool

-- | Is the <a>NV_video_capture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVVideoCapture</a> 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 <a>NV_vertex_program4</a> extension supported?
glGetNVVertexProgram4 :: MonadIO m => m Bool

-- | Is the <a>NV_vertex_program4</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVVertexProgram4</a> in those cases instead.
gl_NV_vertex_program4 :: Bool
pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV :: GLenum

-- | This command is an alias for <a>glGetVertexAttribIiv</a>.
glGetVertexAttribIivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetVertexAttribIuiv</a>.
glGetVertexAttribIuivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is <a>glVertexAttribI1ivEXT</a>.
--   This command is an alias for <a>glVertexAttribI1i</a>.
glVertexAttribI1iEXT :: MonadIO m => GLuint -> GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI1iv</a>.
glVertexAttribI1ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   <a>glVertexAttribI1uivEXT</a>. This command is an alias for
--   <a>glVertexAttribI1ui</a>.
glVertexAttribI1uiEXT :: MonadIO m => GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI1uiv</a>.
glVertexAttribI1uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is <a>glVertexAttribI2ivEXT</a>.
--   This command is an alias for <a>glVertexAttribI2i</a>.
glVertexAttribI2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI2iv</a>.
glVertexAttribI2ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   <a>glVertexAttribI2uivEXT</a>. This command is an alias for
--   <a>glVertexAttribI2ui</a>.
glVertexAttribI2uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI2uiv</a>.
glVertexAttribI2uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | The vector equivalent of this command is <a>glVertexAttribI3ivEXT</a>.
--   This command is an alias for <a>glVertexAttribI3i</a>.
glVertexAttribI3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI3iv</a>.
glVertexAttribI3ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   <a>glVertexAttribI3uivEXT</a>. This command is an alias for
--   <a>glVertexAttribI3ui</a>.
glVertexAttribI3uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI3uiv</a>.
glVertexAttribI3uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI4bv</a>.
glVertexAttribI4bvEXT :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | The vector equivalent of this command is <a>glVertexAttribI4ivEXT</a>.
--   This command is an alias for <a>glVertexAttribI4i</a>.
glVertexAttribI4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI4iv</a>.
glVertexAttribI4ivEXT :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttribI4sv</a>.
glVertexAttribI4svEXT :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttribI4ubv</a>.
glVertexAttribI4ubvEXT :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | The vector equivalent of this command is
--   <a>glVertexAttribI4uivEXT</a>. This command is an alias for
--   <a>glVertexAttribI4ui</a>.
glVertexAttribI4uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI4uiv</a>.
glVertexAttribI4uivEXT :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttribI4usv</a>.
glVertexAttribI4usvEXT :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for <a>glVertexAttribIPointer</a>.
glVertexAttribIPointerEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()


module Graphics.GL.NV.VertexProgram

-- | Is the <a>NV_vertex_program</a> extension supported?
glGetNVVertexProgram :: MonadIO m => m Bool

-- | Is the <a>NV_vertex_program</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVVertexProgram</a> 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 <a>glBindProgramARB</a>.
glBindProgramNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glDeleteProgramsARB</a>.
glDeleteProgramsNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glExecuteProgramNV :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGenProgramsARB</a>.
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 <a>glGetVertexAttribPointerv</a>.
glGetVertexAttribPointervNV :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for <a>glGetVertexAttribdv</a>.
glGetVertexAttribdvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glGetVertexAttribfv</a>.
glGetVertexAttribfvNV :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetVertexAttribiv</a>.
glGetVertexAttribivNV :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glIsProgramARB</a>.
glIsProgramNV :: MonadIO m => GLuint -> m GLboolean
glLoadProgramNV :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> m ()

-- | The vector equivalent of this command is
--   <a>glProgramParameter4dvNV</a>.
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
--   <a>glProgramParameter4fvNV</a>.
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 <a>glVertexAttrib1dvNV</a>.
--   This command is an alias for <a>glVertexAttrib1d</a>.
glVertexAttrib1dNV :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib1dv</a>.
glVertexAttrib1dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1fvNV</a>.
--   This command is an alias for <a>glVertexAttrib1f</a>.
glVertexAttrib1fNV :: MonadIO m => GLuint -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib1fv</a>.
glVertexAttrib1fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1svNV</a>.
--   This command is an alias for <a>glVertexAttrib1s</a>.
glVertexAttrib1sNV :: MonadIO m => GLuint -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib1sv</a>.
glVertexAttrib1svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2dvNV</a>.
--   This command is an alias for <a>glVertexAttrib2d</a>.
glVertexAttrib2dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib2dv</a>.
glVertexAttrib2dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2fvNV</a>.
--   This command is an alias for <a>glVertexAttrib2f</a>.
glVertexAttrib2fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib2fv</a>.
glVertexAttrib2fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2svNV</a>.
--   This command is an alias for <a>glVertexAttrib2s</a>.
glVertexAttrib2sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib2sv</a>.
glVertexAttrib2svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3dvNV</a>.
--   This command is an alias for <a>glVertexAttrib3d</a>.
glVertexAttrib3dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib3dv</a>.
glVertexAttrib3dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3fvNV</a>.
--   This command is an alias for <a>glVertexAttrib3f</a>.
glVertexAttrib3fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib3fv</a>.
glVertexAttrib3fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3svNV</a>.
--   This command is an alias for <a>glVertexAttrib3s</a>.
glVertexAttrib3sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib3sv</a>.
glVertexAttrib3svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4dvNV</a>.
--   This command is an alias for <a>glVertexAttrib4d</a>.
glVertexAttrib4dNV :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib4dv</a>.
glVertexAttrib4dvNV :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4fvNV</a>.
--   This command is an alias for <a>glVertexAttrib4f</a>.
glVertexAttrib4fNV :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib4fv</a>.
glVertexAttrib4fvNV :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <tt>glVertexAttrib4svNV</tt>.
--   This command is an alias for <a>glVertexAttrib4s</a>.
glVertexAttrib4sNV :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <tt>glVertexAttrib4sv</tt>.
glVertexAttrib4svNV :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4ubvNV</a>.
--   This command is an alias for <tt>glVertexAttrib4Nub</tt>.
glVertexAttrib4ubNV :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for <tt>glVertexAttrib4Nubv</tt>.
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 <a>NV_vertex_buffer_unified_memory</a> extension supported?
glGetNVVertexBufferUnifiedMemory :: MonadIO m => m Bool

-- | Is the <a>NV_vertex_buffer_unified_memory</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetNVVertexBufferUnifiedMemory</a> 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 <a>NV_vertex_attrib_integer_64bit</a> extension supported?
glGetNVVertexAttribInteger64Bit :: MonadIO m => m Bool

-- | Is the <a>NV_vertex_attrib_integer_64bit</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetNVVertexAttribInteger64Bit</a> 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 <a>NV_vertex_array_range</a> extension supported?
glGetNVVertexArrayRange :: MonadIO m => m Bool

-- | Is the <a>NV_vertex_array_range</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVVertexArrayRange</a> 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 <a>NV_vdpau_interop2</a> extension supported?
glGetNVVDPAUInterop2 :: MonadIO m => m Bool

-- | Is the <a>NV_vdpau_interop2</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVVDPAUInterop2</a> 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 <a>NV_vdpau_interop</a> extension supported?
glGetNVVDPAUInterop :: MonadIO m => m Bool

-- | Is the <a>NV_vdpau_interop</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVVDPAUInterop</a> 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 <a>NV_transform_feedback2</a> extension supported?
glGetNVTransformFeedback2 :: MonadIO m => m Bool

-- | Is the <a>NV_transform_feedback2</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVTransformFeedback2</a> 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 <a>glDeleteTransformFeedbacks</a>.
glDeleteTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glDrawTransformFeedback</a>.
glDrawTransformFeedbackNV :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glGenTransformFeedbacks</a>.
glGenTransformFeedbacksNV :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glIsTransformFeedback</a>.
glIsTransformFeedbackNV :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glPauseTransformFeedback</a>.
glPauseTransformFeedbackNV :: MonadIO m => m ()

-- | This command is an alias for <a>glResumeTransformFeedback</a>.
glResumeTransformFeedbackNV :: MonadIO m => m ()


module Graphics.GL.NV.TransformFeedback

-- | Is the <a>NV_transform_feedback</a> extension supported?
glGetNVTransformFeedback :: MonadIO m => m Bool

-- | Is the <a>NV_transform_feedback</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVTransformFeedback</a> 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 <a>glBeginTransformFeedback</a>.
glBeginTransformFeedbackNV :: MonadIO m => GLenum -> m ()

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

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

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

-- | This command is an alias for <a>glEndTransformFeedback</a>.
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 <a>NV_texture_multisample</a> extension supported?
glGetNVTextureMultisample :: MonadIO m => m Bool

-- | Is the <a>NV_texture_multisample</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVTextureMultisample</a> 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 <a>NV_texture_barrier</a> extension supported?
glGetNVTextureBarrier :: MonadIO m => m Bool

-- | Is the <a>NV_texture_barrier</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVTextureBarrier</a> in those cases instead.
gl_NV_texture_barrier :: Bool
glTextureBarrierNV :: MonadIO m => m ()


module Graphics.GL.NV.ShadingRateImage

-- | Is the <a>NV_shading_rate_image</a> extension supported?
glGetNVShadingRateImage :: MonadIO m => m Bool

-- | Is the <a>NV_shading_rate_image</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVShadingRateImage</a> 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 <a>NV_shader_buffer_load</a> extension supported?
glGetNVShaderBufferLoad :: MonadIO m => m Bool

-- | Is the <a>NV_shader_buffer_load</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVShaderBufferLoad</a> 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 <a>NV_scissor_exclusive</a> extension supported?
glGetNVScissorExclusive :: MonadIO m => m Bool

-- | Is the <a>NV_scissor_exclusive</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVScissorExclusive</a> 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 <a>NV_sample_locations</a> extension supported?
glGetNVSampleLocations :: MonadIO m => m Bool

-- | Is the <a>NV_sample_locations</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVSampleLocations</a> 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 <a>NV_register_combiners2</a> extension supported?
glGetNVRegisterCombiners2 :: MonadIO m => m Bool

-- | Is the <a>NV_register_combiners2</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVRegisterCombiners2</a> 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 <a>NV_register_combiners</a> extension supported?
glGetNVRegisterCombiners :: MonadIO m => m Bool

-- | Is the <a>NV_register_combiners</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVRegisterCombiners</a> 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 <a>NV_query_resource_tag</a> extension supported?
glGetNVQueryResourceTag :: MonadIO m => m Bool

-- | Is the <a>NV_query_resource_tag</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVQueryResourceTag</a> 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 <a>NV_query_resource</a> extension supported?
glGetNVQueryResource :: MonadIO m => m Bool

-- | Is the <a>NV_query_resource</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVQueryResource</a> 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 <a>NV_primitive_restart</a> extension supported?
glGetNVPrimitiveRestart :: MonadIO m => m Bool

-- | Is the <a>NV_primitive_restart</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVPrimitiveRestart</a> 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 <a>NV_present_video</a> extension supported?
glGetNVPresentVideo :: MonadIO m => m Bool

-- | Is the <a>NV_present_video</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVPresentVideo</a> 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 <a>NV_point_sprite</a> extension supported?
glGetNVPointSprite :: MonadIO m => m Bool

-- | Is the <a>NV_point_sprite</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVPointSprite</a> 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 <a>glPointParameteri</a>.
glPointParameteriNV :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for <a>glPointParameteriv</a>.
glPointParameterivNV :: MonadIO m => GLenum -> Ptr GLint -> m ()


module Graphics.GL.NV.PixelDataRange

-- | Is the <a>NV_pixel_data_range</a> extension supported?
glGetNVPixelDataRange :: MonadIO m => m Bool

-- | Is the <a>NV_pixel_data_range</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVPixelDataRange</a> 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 <a>NV_path_rendering</a> extension supported?
glGetNVPathRendering :: MonadIO m => m Bool

-- | Is the <a>NV_path_rendering</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVPathRendering</a> 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 <a>NV_path_rendering</a> extension supported?
glGetNVPathRendering :: MonadIO m => m Bool

-- | Is the <a>NV_path_rendering</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVPathRendering</a> 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 <a>NV_parameter_buffer_object</a> extension supported?
glGetNVParameterBufferObject :: MonadIO m => m Bool

-- | Is the <a>NV_parameter_buffer_object</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetNVParameterBufferObject</a> 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 <a>NV_occlusion_query</a> extension supported?
glGetNVOcclusionQuery :: MonadIO m => m Bool

-- | Is the <a>NV_occlusion_query</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVOcclusionQuery</a> 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 <a>NV_mesh_shader</a> extension supported?
glGetNVMeshShader :: MonadIO m => m Bool

-- | Is the <a>NV_mesh_shader</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVMeshShader</a> 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 <a>NV_memory_attachment</a> extension supported?
glGetNVMemoryAttachment :: MonadIO m => m Bool

-- | Is the <a>NV_memory_attachment</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVMemoryAttachment</a> 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 <a>NV_internalformat_sample_query</a> extension supported?
glGetNVInternalformatSampleQuery :: MonadIO m => m Bool

-- | Is the <a>NV_internalformat_sample_query</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetNVInternalformatSampleQuery</a> 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 <a>NV_half_float</a> extension supported?
glGetNVHalfFloat :: MonadIO m => m Bool

-- | Is the <a>NV_half_float</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVHalfFloat</a> in those cases instead.
gl_NV_half_float :: Bool
pattern GL_HALF_FLOAT_NV :: GLenum

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

-- | The vector equivalent of this command is <a>glColor4hvNV</a>.
glColor4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glColor4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glFogCoordhvNV</a>.
glFogCoordhNV :: MonadIO m => GLhalfNV -> m ()
glFogCoordhvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1hvNV</a>.
glMultiTexCoord1hNV :: MonadIO m => GLenum -> GLhalfNV -> m ()
glMultiTexCoord1hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2hvNV</a>.
glMultiTexCoord2hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord2hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3hvNV</a>.
glMultiTexCoord3hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord3hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4hvNV</a>.
glMultiTexCoord4hNV :: MonadIO m => GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glMultiTexCoord4hvNV :: MonadIO m => GLenum -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glNormal3hvNV</a>.
glNormal3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glNormal3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glSecondaryColor3hvNV</a>.
glSecondaryColor3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glSecondaryColor3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glTexCoord1hvNV</a>.
glTexCoord1hNV :: MonadIO m => GLhalfNV -> m ()
glTexCoord1hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glTexCoord2hvNV</a>.
glTexCoord2hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> m ()
glTexCoord2hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glTexCoord3hvNV</a>.
glTexCoord3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glTexCoord3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glTexCoord4hvNV</a>.
glTexCoord4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glTexCoord4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glVertex2hvNV</a>.
glVertex2hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> m ()
glVertex2hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glVertex3hvNV</a>.
glVertex3hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertex3hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glVertex4hvNV</a>.
glVertex4hNV :: MonadIO m => GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertex4hvNV :: MonadIO m => Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1hvNV</a>.
glVertexAttrib1hNV :: MonadIO m => GLuint -> GLhalfNV -> m ()
glVertexAttrib1hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2hvNV</a>.
glVertexAttrib2hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib2hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3hvNV</a>.
glVertexAttrib3hNV :: MonadIO m => GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> m ()
glVertexAttrib3hvNV :: MonadIO m => GLuint -> Ptr GLhalfNV -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4hvNV</a>.
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 <a>glVertexWeighthvNV</a>.
glVertexWeighthNV :: MonadIO m => GLhalfNV -> m ()
glVertexWeighthvNV :: MonadIO m => Ptr GLhalfNV -> m ()


module Graphics.GL.NV.GeometryProgram4

-- | Is the <a>NV_geometry_program4</a> extension supported?
glGetNVGeometryProgram4 :: MonadIO m => m Bool

-- | Is the <a>NV_geometry_program4</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVGeometryProgram4</a> 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 <a>glFramebufferTexture</a>.
glFramebufferTextureEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTextureFaceARB</a>.
glFramebufferTextureFaceEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()

-- | This command is an alias for <a>glFramebufferTextureLayer</a>.
glFramebufferTextureLayerEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()
glProgramVertexLimitNV :: MonadIO m => GLenum -> GLint -> m ()


module Graphics.GL.NV.GPUShader5

-- | Is the <a>NV_gpu_shader5</a> extension supported?
glGetNVGPUShader5 :: MonadIO m => m Bool

-- | Is the <a>NV_gpu_shader5</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVGPUShader5</a> 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 <a>NV_gpu_program5</a> extension supported?
glGetNVGPUProgram5 :: MonadIO m => m Bool

-- | Is the <a>NV_gpu_program5</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVGPUProgram5</a> 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 <a>NV_gpu_program4</a> extension supported?
glGetNVGPUProgram4 :: MonadIO m => m Bool

-- | Is the <a>NV_gpu_program4</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVGPUProgram4</a> 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
--   <a>glProgramEnvParameterI4ivNV</a>.
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
--   <a>glProgramEnvParameterI4uivNV</a>.
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
--   <a>glProgramLocalParameterI4ivNV</a>.
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
--   <a>glProgramLocalParameterI4uivNV</a>.
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 <a>NV_gpu_multicast</a> extension supported?
glGetNVGPUMulticast :: MonadIO m => m Bool

-- | Is the <a>NV_gpu_multicast</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVGPUMulticast</a> 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 <a>NV_framebuffer_multisample_coverage</a> extension supported?
glGetNVFramebufferMultisampleCoverage :: MonadIO m => m Bool

-- | Is the <a>NV_framebuffer_multisample_coverage</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetNVFramebufferMultisampleCoverage</a> 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 <a>NV_framebuffer_mixed_samples</a> extension supported?
glGetNVFramebufferMixedSamples :: MonadIO m => m Bool

-- | Is the <a>NV_framebuffer_mixed_samples</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetNVFramebufferMixedSamples</a> 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 <a>NV_fragment_program</a> extension supported?
glGetNVFragmentProgram :: MonadIO m => m Bool

-- | Is the <a>NV_fragment_program</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVFragmentProgram</a> 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
--   <a>glProgramNamedParameter4dvNV</a>.
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
--   <a>glProgramNamedParameter4fvNV</a>.
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 <a>NV_fragment_coverage_to_color</a> extension supported?
glGetNVFragmentCoverageToColor :: MonadIO m => m Bool

-- | Is the <a>NV_fragment_coverage_to_color</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetNVFragmentCoverageToColor</a> 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 <a>NV_fence</a> extension supported?
glGetNVFence :: MonadIO m => m Bool

-- | Is the <a>NV_fence</a> extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use <a>glGetNVFence</a> 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 <a>NV_explicit_multisample</a> extension supported?
glGetNVExplicitMultisample :: MonadIO m => m Bool

-- | Is the <a>NV_explicit_multisample</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVExplicitMultisample</a> 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 <a>glGetMultisamplefv</a>.
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 <a>NV_evaluators</a> extension supported?
glGetNVEvaluators :: MonadIO m => m Bool

-- | Is the <a>NV_evaluators</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVEvaluators</a> 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 <a>NV_draw_vulkan_image</a> extension supported?
glGetNVDrawVulkanImage :: MonadIO m => m Bool

-- | Is the <a>NV_draw_vulkan_image</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVDrawVulkanImage</a> 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 <a>NV_draw_texture</a> extension supported?
glGetNVDrawTexture :: MonadIO m => m Bool

-- | Is the <a>NV_draw_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVDrawTexture</a> 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 <a>NV_depth_buffer_float</a> extension supported?
glGetNVDepthBufferFloat :: MonadIO m => m Bool

-- | Is the <a>NV_depth_buffer_float</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVDepthBufferFloat</a> 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 <a>NV_copy_image</a> extension supported?
glGetNVCopyImage :: MonadIO m => m Bool

-- | Is the <a>NV_copy_image</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVCopyImage</a> 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 <a>NV_conservative_raster_pre_snap_triangles</a> extension
--   supported?
glGetNVConservativeRasterPreSnapTriangles :: MonadIO m => m Bool

-- | Is the <a>NV_conservative_raster_pre_snap_triangles</a> extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   <a>glGetNVConservativeRasterPreSnapTriangles</a> 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 <a>NV_conservative_raster_dilate</a> extension supported?
glGetNVConservativeRasterDilate :: MonadIO m => m Bool

-- | Is the <a>NV_conservative_raster_dilate</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetNVConservativeRasterDilate</a> 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 <a>NV_conservative_raster</a> extension supported?
glGetNVConservativeRaster :: MonadIO m => m Bool

-- | Is the <a>NV_conservative_raster</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVConservativeRaster</a> 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 <a>NV_conditional_render</a> extension supported?
glGetNVConditionalRender :: MonadIO m => m Bool

-- | Is the <a>NV_conditional_render</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVConditionalRender</a> 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 <a>glBeginConditionalRender</a>.
glBeginConditionalRenderNV :: MonadIO m => GLuint -> GLenum -> m ()

-- | This command is an alias for <a>glEndConditionalRender</a>.
glEndConditionalRenderNV :: MonadIO m => m ()


module Graphics.GL.NV.CommandList

-- | Is the <a>NV_command_list</a> extension supported?
glGetNVCommandList :: MonadIO m => m Bool

-- | Is the <a>NV_command_list</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetNVCommandList</a> 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 <a>NV_clip_space_w_scaling</a> extension supported?
glGetNVClipSpaceWScaling :: MonadIO m => m Bool

-- | Is the <a>NV_clip_space_w_scaling</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVClipSpaceWScaling</a> 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 <a>NV_blend_equation_advanced</a> extension supported?
glGetNVBlendEquationAdvanced :: MonadIO m => m Bool

-- | Is the <a>NV_blend_equation_advanced</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetNVBlendEquationAdvanced</a> 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 <a>glBlendBarrier</a>.
glBlendBarrierNV :: MonadIO m => m ()
glBlendParameteriNV :: MonadIO m => GLenum -> GLint -> m ()


module Graphics.GL.NV.BindlessTexture

-- | Is the <a>NV_bindless_texture</a> extension supported?
glGetNVBindlessTexture :: MonadIO m => m Bool

-- | Is the <a>NV_bindless_texture</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetNVBindlessTexture</a> 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 <a>NV_bindless_multi_draw_indirect_count</a> extension
--   supported?
glGetNVBindlessMultiDrawIndirectCount :: MonadIO m => m Bool

-- | Is the <a>NV_bindless_multi_draw_indirect_count</a> extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   <a>glGetNVBindlessMultiDrawIndirectCount</a> 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 <a>NV_bindless_multi_draw_indirect</a> extension supported?
glGetNVBindlessMultiDrawIndirect :: MonadIO m => m Bool

-- | Is the <a>NV_bindless_multi_draw_indirect</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetNVBindlessMultiDrawIndirect</a> 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 <a>NV_alpha_to_coverage_dither_control</a> extension supported?
glGetNVAlphaToCoverageDitherControl :: MonadIO m => m Bool

-- | Is the <a>NV_alpha_to_coverage_dither_control</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetNVAlphaToCoverageDitherControl</a> 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 <a>MESA_window_pos</a> extension supported?
glGetMESAWindowPos :: MonadIO m => m Bool

-- | Is the <a>MESA_window_pos</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetMESAWindowPos</a> in those cases instead.
gl_MESA_window_pos :: Bool

-- | The vector equivalent of this command is <a>glWindowPos2dvMESA</a>.
--   This command is an alias for <a>glWindowPos2d</a>.
glWindowPos2dMESA :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glWindowPos2dv</a>.
glWindowPos2dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2fvMESA</a>.
--   This command is an alias for <a>glWindowPos2f</a>.
glWindowPos2fMESA :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glWindowPos2fv</a>.
glWindowPos2fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2ivMESA</a>.
--   This command is an alias for <a>glWindowPos2i</a>.
glWindowPos2iMESA :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for <a>glWindowPos2iv</a>.
glWindowPos2ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2svMESA</a>.
--   This command is an alias for <a>glWindowPos2s</a>.
glWindowPos2sMESA :: MonadIO m => GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glWindowPos2sv</a>.
glWindowPos2svMESA :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3dvMESA</a>.
--   This command is an alias for <a>glWindowPos3d</a>.
glWindowPos3dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glWindowPos3dv</a>.
glWindowPos3dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3fvMESA</a>.
--   This command is an alias for <a>glWindowPos3f</a>.
glWindowPos3fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glWindowPos3fv</a>.
glWindowPos3fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3ivMESA</a>.
--   This command is an alias for <a>glWindowPos3i</a>.
glWindowPos3iMESA :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glWindowPos3iv</a>.
glWindowPos3ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3svMESA</a>.
--   This command is an alias for <a>glWindowPos3s</a>.
glWindowPos3sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glWindowPos3sv</a>.
glWindowPos3svMESA :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glWindowPos4dvMESA</a>.
glWindowPos4dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glWindowPos4dvMESA :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos4fvMESA</a>.
glWindowPos4fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glWindowPos4fvMESA :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos4ivMESA</a>.
glWindowPos4iMESA :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glWindowPos4ivMESA :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos4svMESA</a>.
glWindowPos4sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glWindowPos4svMESA :: MonadIO m => Ptr GLshort -> m ()


module Graphics.GL.MESA.ResizeBuffers

-- | Is the <a>MESA_resize_buffers</a> extension supported?
glGetMESAResizeBuffers :: MonadIO m => m Bool

-- | Is the <a>MESA_resize_buffers</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetMESAResizeBuffers</a> in those cases
--   instead.
gl_MESA_resize_buffers :: Bool
glResizeBuffersMESA :: MonadIO m => m ()


module Graphics.GL.MESA.FramebufferFlipY

-- | Is the <a>MESA_framebuffer_flip_y</a> extension supported?
glGetMESAFramebufferFlipY :: MonadIO m => m Bool

-- | Is the <a>MESA_framebuffer_flip_y</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetMESAFramebufferFlipY</a> 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 <a>KHR_robustness</a> extension supported?
glGetKHRRobustness :: MonadIO m => m Bool

-- | Is the <a>KHR_robustness</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetKHRRobustness</a> 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 <a>OpenGL 4.x</a>.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

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

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

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


module Graphics.GL.KHR.ParallelShaderCompile

-- | Is the <a>KHR_parallel_shader_compile</a> extension supported?
glGetKHRParallelShaderCompile :: MonadIO m => m Bool

-- | Is the <a>KHR_parallel_shader_compile</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetKHRParallelShaderCompile</a> 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 <a>KHR_debug</a> extension supported?
glGetKHRDebug :: MonadIO m => m Bool

-- | Is the <a>KHR_debug</a> extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use <a>glGetKHRDebug</a> 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 <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

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


module Graphics.GL.KHR.DebugCompatibility

-- | Is the <a>KHR_debug</a> extension supported?
glGetKHRDebug :: MonadIO m => m Bool

-- | Is the <a>KHR_debug</a> extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use <a>glGetKHRDebug</a> 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 <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

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


module Graphics.GL.KHR.BlendEquationAdvanced

-- | Is the <a>KHR_blend_equation_advanced</a> extension supported?
glGetKHRBlendEquationAdvanced :: MonadIO m => m Bool

-- | Is the <a>KHR_blend_equation_advanced</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetKHRBlendEquationAdvanced</a> 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 <a>glBlendBarrier</a>.
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 <a>INTEL_performance_query</a> extension supported?
glGetINTELPerformanceQuery :: MonadIO m => m Bool

-- | Is the <a>INTEL_performance_query</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetINTELPerformanceQuery</a> 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 <a>INTEL_parallel_arrays</a> extension supported?
glGetINTELParallelArrays :: MonadIO m => m Bool

-- | Is the <a>INTEL_parallel_arrays</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetINTELParallelArrays</a> 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 <a>INTEL_map_texture</a> extension supported?
glGetINTELMapTexture :: MonadIO m => m Bool

-- | Is the <a>INTEL_map_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetINTELMapTexture</a> 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 <a>INTEL_framebuffer_CMAA</a> extension supported?
glGetINTELFramebufferCmaa :: MonadIO m => m Bool

-- | Is the <a>INTEL_framebuffer_CMAA</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetINTELFramebufferCmaa</a> 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 <a>INGR_blend_func_separate</a> extension supported?
glGetINGRBlendFuncSeparate :: MonadIO m => m Bool

-- | Is the <a>INGR_blend_func_separate</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetINGRBlendFuncSeparate</a> in those cases
--   instead.
gl_INGR_blend_func_separate :: Bool

-- | This command is an alias for <a>glBlendFuncSeparate</a>.
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 <a>IBM_vertex_array_lists</a> extension supported?
glGetIBMVertexArrayLists :: MonadIO m => m Bool

-- | Is the <a>IBM_vertex_array_lists</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetIBMVertexArrayLists</a> 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 <a>IBM_static_data</a> extension supported?
glGetIBMStaticData :: MonadIO m => m Bool

-- | Is the <a>IBM_static_data</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetIBMStaticData</a> 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 <a>IBM_multimode_draw_arrays</a> extension supported?
glGetIBMMultimodeDrawArrays :: MonadIO m => m Bool

-- | Is the <a>IBM_multimode_draw_arrays</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetIBMMultimodeDrawArrays</a> 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 <a>HP_image_transform</a> extension supported?
glGetHPImageTransform :: MonadIO m => m Bool

-- | Is the <a>HP_image_transform</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetHPImageTransform</a> 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 <a>GREMEDY_string_marker</a> extension supported?
glGetGREMEDYStringMarker :: MonadIO m => m Bool

-- | Is the <a>GREMEDY_string_marker</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetGREMEDYStringMarker</a> in those cases
--   instead.
gl_GREMEDY_string_marker :: Bool
glStringMarkerGREMEDY :: MonadIO m => GLsizei -> Ptr a -> m ()


module Graphics.GL.GREMEDY.FrameTerminator

-- | Is the <a>GREMEDY_frame_terminator</a> extension supported?
glGetGREMEDYFrameTerminator :: MonadIO m => m Bool

-- | Is the <a>GREMEDY_frame_terminator</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetGREMEDYFrameTerminator</a> 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 <a>EXT_x11_sync_object</a> extension supported?
glGetEXTX11SyncObject :: MonadIO m => m Bool

-- | Is the <a>EXT_x11_sync_object</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTX11SyncObject</a> 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 <a>EXT_window_rectangles</a> extension supported?
glGetEXTWindowRectangles :: MonadIO m => m Bool

-- | Is the <a>EXT_window_rectangles</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTWindowRectangles</a> 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 <a>EXT_win32_keyed_mutex</a> extension supported?
glGetEXTWin32KeyedMutex :: MonadIO m => m Bool

-- | Is the <a>EXT_win32_keyed_mutex</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTWin32KeyedMutex</a> 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 <a>EXT_vertex_weighting</a> extension supported?
glGetEXTVertexWeighting :: MonadIO m => m Bool

-- | Is the <a>EXT_vertex_weighting</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTVertexWeighting</a> 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 <a>glVertexWeightfvEXT</a>.
glVertexWeightfEXT :: MonadIO m => GLfloat -> m ()
glVertexWeightfvEXT :: MonadIO m => Ptr GLfloat -> m ()


module Graphics.GL.EXT.VertexShader

-- | Is the <a>EXT_vertex_shader</a> extension supported?
glGetEXTVertexShader :: MonadIO m => m Bool

-- | Is the <a>EXT_vertex_shader</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTVertexShader</a> 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 <a>EXT_vertex_attrib_64bit</a> extension supported?
glGetEXTVertexAttrib64Bit :: MonadIO m => m Bool

-- | Is the <a>EXT_vertex_attrib_64bit</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTVertexAttrib64Bit</a> 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 <a>glGetVertexAttribLdv</a>.
glGetVertexAttribLdvEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL1d</a>.
glVertexAttribL1dEXT :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL1dv</a>.
glVertexAttribL1dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL2d</a>.
glVertexAttribL2dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL2dv</a>.
glVertexAttribL2dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL3d</a>.
glVertexAttribL3dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL3dv</a>.
glVertexAttribL3dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL4d</a>.
glVertexAttribL4dEXT :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttribL4dv</a>.
glVertexAttribL4dvEXT :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <tt>glVertexAttribLPointer</tt>.
glVertexAttribLPointerEXT :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()


module Graphics.GL.EXT.VertexArray

-- | Is the <a>EXT_vertex_array</a> extension supported?
glGetEXTVertexArray :: MonadIO m => m Bool

-- | Is the <a>EXT_vertex_array</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTVertexArray</a> 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 <a>glArrayElement</a>.
glArrayElementEXT :: MonadIO m => GLint -> m ()
glColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | This command is an alias for <a>glDrawArrays</a>.
glDrawArraysEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glEdgeFlagPointerEXT :: MonadIO m => GLsizei -> GLsizei -> Ptr GLboolean -> m ()

-- | This command is an alias for <a>glGetPointerv</a>.
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 <a>EXT_transform_feedback</a> extension supported?
glGetEXTTransformFeedback :: MonadIO m => m Bool

-- | Is the <a>EXT_transform_feedback</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTransformFeedback</a> 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 <a>glBeginTransformFeedback</a>.
glBeginTransformFeedbackEXT :: MonadIO m => GLenum -> m ()

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

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

-- | This command is an alias for <a>glEndTransformFeedback</a>.
glEndTransformFeedbackEXT :: MonadIO m => m ()

-- | This command is an alias for <a>glGetTransformFeedbackVarying</a>.
glGetTransformFeedbackVaryingEXT :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | This command is an alias for <a>glTransformFeedbackVaryings</a>.
glTransformFeedbackVaryingsEXT :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()


module Graphics.GL.EXT.TimerQuery

-- | Is the <a>EXT_timer_query</a> extension supported?
glGetEXTTimerQuery :: MonadIO m => m Bool

-- | Is the <a>EXT_timer_query</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTTimerQuery</a> in those cases instead.
gl_EXT_timer_query :: Bool
pattern GL_TIME_ELAPSED_EXT :: GLenum

-- | This command is an alias for <a>glGetQueryObjecti64v</a>.
glGetQueryObjecti64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | This command is an alias for <a>glGetQueryObjectui64v</a>.
glGetQueryObjectui64vEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()


module Graphics.GL.EXT.TexturePerturbNormal

-- | Is the <a>EXT_texture_perturb_normal</a> extension supported?
glGetEXTTexturePerturbNormal :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_perturb_normal</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTTexturePerturbNormal</a> 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 <a>EXT_texture_object</a> extension supported?
glGetEXTTextureObject :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_object</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTTextureObject</a> 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 <a>glBindTexture</a>.
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 <a>glPrioritizeTextures</a>.
glPrioritizeTexturesEXT :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLclampf -> m ()


module Graphics.GL.EXT.TextureInteger

-- | Is the <a>EXT_texture_integer</a> extension supported?
glGetEXTTextureInteger :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_integer</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureInteger</a> 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 <a>glGetTexParameterIiv</a>.
glGetTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <tt>glGetTexParameterIuiv</tt>.
glGetTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glTexParameterIiv</a>.
glTexParameterIivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glTexParameterIuiv</a>.
glTexParameterIuivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()


module Graphics.GL.EXT.TextureBufferObject

-- | Is the <a>EXT_texture_buffer_object</a> extension supported?
glGetEXTTextureBufferObject :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTTextureBufferObject</a> 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 <a>glTexBuffer</a>.
glTexBufferEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()


module Graphics.GL.EXT.TextureArray

-- | Is the <a>EXT_texture_array</a> extension supported?
glGetEXTTextureArray :: MonadIO m => m Bool

-- | Is the <a>EXT_texture_array</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTTextureArray</a> 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 <a>glFramebufferTextureLayer</a>.
glFramebufferTextureLayerEXT :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()


module Graphics.GL.EXT.Texture3D

-- | Is the <a>EXT_texture3D</a> extension supported?
glGetEXTTexture3D :: MonadIO m => m Bool

-- | Is the <a>EXT_texture3D</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTTexture3D</a> 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 <a>glTexImage3D</a>.
glTexImage3DEXT :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for <a>glTexSubImage3D</a>.
glTexSubImage3DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()


module Graphics.GL.EXT.Subtexture

-- | Is the <a>EXT_subtexture</a> extension supported?
glGetEXTSubtexture :: MonadIO m => m Bool

-- | Is the <a>EXT_subtexture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTSubtexture</a> in those cases instead.
gl_EXT_subtexture :: Bool

-- | This command is an alias for <a>glTexSubImage1D</a>.
glTexSubImage1DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for <a>glTexSubImage2D</a>.
glTexSubImage2DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()


module Graphics.GL.EXT.StencilTwoSide

-- | Is the <a>EXT_stencil_two_side</a> extension supported?
glGetEXTStencilTwoSide :: MonadIO m => m Bool

-- | Is the <a>EXT_stencil_two_side</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTStencilTwoSide</a> 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 <a>EXT_stencil_clear_tag</a> extension supported?
glGetEXTStencilClearTag :: MonadIO m => m Bool

-- | Is the <a>EXT_stencil_clear_tag</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTStencilClearTag</a> 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 <a>EXT_shader_image_load_store</a> extension supported?
glGetEXTShaderImageLoadStore :: MonadIO m => m Bool

-- | Is the <a>EXT_shader_image_load_store</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTShaderImageLoadStore</a> 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 <a>glMemoryBarrier</a>.
glMemoryBarrierEXT :: MonadIO m => GLbitfield -> m ()


module Graphics.GL.EXT.ShaderFramebufferFetchNonCoherent

-- | Is the <a>EXT_shader_framebuffer_fetch_non_coherent</a> extension
--   supported?
glGetEXTShaderFramebufferFetchNonCoherent :: MonadIO m => m Bool

-- | Is the <a>EXT_shader_framebuffer_fetch_non_coherent</a> extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   <a>glGetEXTShaderFramebufferFetchNonCoherent</a> 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 <a>EXT_separate_shader_objects</a> extension supported?
glGetEXTSeparateShaderObjects :: MonadIO m => m Bool

-- | Is the <a>EXT_separate_shader_objects</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTSeparateShaderObjects</a> 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 <a>EXT_semaphore_win32</a> extension supported?
glGetEXTSemaphoreWin32 :: MonadIO m => m Bool

-- | Is the <a>EXT_semaphore_win32</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTSemaphoreWin32</a> 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 <a>EXT_semaphore_fd</a> extension supported?
glGetEXTSemaphoreFd :: MonadIO m => m Bool

-- | Is the <a>EXT_semaphore_fd</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTSemaphoreFd</a> 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 <a>EXT_semaphore</a> extension supported?
glGetEXTSemaphore :: MonadIO m => m Bool

-- | Is the <a>EXT_semaphore</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTSemaphore</a> 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 <a>EXT_secondary_color</a> extension supported?
glGetEXTSecondaryColor :: MonadIO m => m Bool

-- | Is the <a>EXT_secondary_color</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTSecondaryColor</a> 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
--   <a>glSecondaryColor3bvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3b</a>.
glSecondaryColor3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | This command is an alias for <a>glSecondaryColor3bv</a>.
glSecondaryColor3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3dvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3d</a>.
glSecondaryColor3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glSecondaryColor3dv</a>.
glSecondaryColor3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3fvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3f</a>.
glSecondaryColor3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glSecondaryColor3fv</a>.
glSecondaryColor3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3ivEXT</a>. This command is an alias for
--   <a>glSecondaryColor3i</a>.
glSecondaryColor3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glSecondaryColor3iv</a>.
glSecondaryColor3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3svEXT</a>. This command is an alias for
--   <a>glSecondaryColor3s</a>.
glSecondaryColor3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glSecondaryColor3sv</a>.
glSecondaryColor3svEXT :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3ubvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3ub</a>.
glSecondaryColor3ubEXT :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ubvEXT :: MonadIO m => Ptr GLubyte -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3uivEXT</a>. This command is an alias for
--   <a>glSecondaryColor3ui</a>.
glSecondaryColor3uiEXT :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glSecondaryColor3uiv</a>.
glSecondaryColor3uivEXT :: MonadIO m => Ptr GLuint -> m ()

-- | The vector equivalent of this command is
--   <a>glSecondaryColor3usvEXT</a>. This command is an alias for
--   <a>glSecondaryColor3us</a>.
glSecondaryColor3usEXT :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | This command is an alias for <a>glSecondaryColor3usv</a>.
glSecondaryColor3usvEXT :: MonadIO m => Ptr GLushort -> m ()

-- | This command is an alias for <a>glSecondaryColorPointer</a>.
glSecondaryColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()


module Graphics.GL.EXT.RasterMultisample

-- | Is the <a>EXT_raster_multisample</a> extension supported?
glGetEXTRasterMultisample :: MonadIO m => m Bool

-- | Is the <a>EXT_raster_multisample</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTRasterMultisample</a> 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 <a>EXT_provoking_vertex</a> extension supported?
glGetEXTProvokingVertex :: MonadIO m => m Bool

-- | Is the <a>EXT_provoking_vertex</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTProvokingVertex</a> 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 <a>glProvokingVertex</a>.
glProvokingVertexEXT :: MonadIO m => GLenum -> m ()


module Graphics.GL.EXT.PolygonOffsetClamp

-- | Is the <a>EXT_polygon_offset_clamp</a> extension supported?
glGetEXTPolygonOffsetClamp :: MonadIO m => m Bool

-- | Is the <a>EXT_polygon_offset_clamp</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTPolygonOffsetClamp</a> in those cases
--   instead.
gl_EXT_polygon_offset_clamp :: Bool
pattern GL_POLYGON_OFFSET_CLAMP_EXT :: GLenum

-- | This command is an alias for <a>glPolygonOffsetClamp</a>.
glPolygonOffsetClampEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()


module Graphics.GL.EXT.PolygonOffset

-- | Is the <a>EXT_polygon_offset</a> extension supported?
glGetEXTPolygonOffset :: MonadIO m => m Bool

-- | Is the <a>EXT_polygon_offset</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTPolygonOffset</a> 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 <a>EXT_point_parameters</a> extension supported?
glGetEXTPointParameters :: MonadIO m => m Bool

-- | Is the <a>EXT_point_parameters</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTPointParameters</a> 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 <a>glPointParameterf</a>.
glPointParameterfEXT :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterfv</a>.
glPointParameterfvEXT :: MonadIO m => GLenum -> Ptr GLfloat -> m ()


module Graphics.GL.EXT.PixelTransform

-- | Is the <a>EXT_pixel_transform</a> extension supported?
glGetEXTPixelTransform :: MonadIO m => m Bool

-- | Is the <a>EXT_pixel_transform</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTPixelTransform</a> 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 <a>EXT_paletted_texture</a> extension supported?
glGetEXTPalettedTexture :: MonadIO m => m Bool

-- | Is the <a>EXT_paletted_texture</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTPalettedTexture</a> 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 <a>glColorTable</a>.
glColorTableEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for <a>glGetColorTable</a>.
glGetColorTableEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | This command is an alias for <a>glGetColorTableParameterfv</a>.
glGetColorTableParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetColorTableParameteriv</a>.
glGetColorTableParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()


module Graphics.GL.EXT.Multisample

-- | Is the <a>EXT_multisample</a> extension supported?
glGetEXTMultisample :: MonadIO m => m Bool

-- | Is the <a>EXT_multisample</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTMultisample</a> 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 <a>EXT_multi_draw_arrays</a> extension supported?
glGetEXTMultiDrawArrays :: MonadIO m => m Bool

-- | Is the <a>EXT_multi_draw_arrays</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTMultiDrawArrays</a> in those cases
--   instead.
gl_EXT_multi_draw_arrays :: Bool

-- | This command is an alias for <a>glMultiDrawArrays</a>.
glMultiDrawArraysEXT :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glMultiDrawElements</a>.
glMultiDrawElementsEXT :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()


module Graphics.GL.EXT.MemoryObjectWin32

-- | Is the <a>EXT_memory_object_win32</a> extension supported?
glGetEXTMemoryObjectWin32 :: MonadIO m => m Bool

-- | Is the <a>EXT_memory_object_win32</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTMemoryObjectWin32</a> 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 <a>EXT_memory_object_fd</a> extension supported?
glGetEXTMemoryObjectFd :: MonadIO m => m Bool

-- | Is the <a>EXT_memory_object_fd</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTMemoryObjectFd</a> 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 <a>EXT_memory_object</a> extension supported?
glGetEXTMemoryObject :: MonadIO m => m Bool

-- | Is the <a>EXT_memory_object</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTMemoryObject</a> 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 <a>EXT_light_texture</a> extension supported?
glGetEXTLightTexture :: MonadIO m => m Bool

-- | Is the <a>EXT_light_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTLightTexture</a> 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 <a>EXT_index_material</a> extension supported?
glGetEXTIndexMaterial :: MonadIO m => m Bool

-- | Is the <a>EXT_index_material</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTIndexMaterial</a> 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 <a>EXT_index_func</a> extension supported?
glGetEXTIndexFunc :: MonadIO m => m Bool

-- | Is the <a>EXT_index_func</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTIndexFunc</a> 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 <a>EXT_histogram</a> extension supported?
glGetEXTHistogram :: MonadIO m => m Bool

-- | Is the <a>EXT_histogram</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTHistogram</a> 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 <a>glHistogram</a>.
glHistogramEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLboolean -> m ()

-- | This command is an alias for <a>glMinmax</a>.
glMinmaxEXT :: MonadIO m => GLenum -> GLenum -> GLboolean -> m ()

-- | This command is an alias for <a>glResetHistogram</a>.
glResetHistogramEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for <a>glResetMinmax</a>.
glResetMinmaxEXT :: MonadIO m => GLenum -> m ()


module Graphics.GL.EXT.GeometryShader4

-- | Is the <a>EXT_geometry_shader4</a> extension supported?
glGetEXTGeometryShader4 :: MonadIO m => m Bool

-- | Is the <a>EXT_geometry_shader4</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTGeometryShader4</a> 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 <a>glProgramParameteri</a>.
glProgramParameteriEXT :: MonadIO m => GLuint -> GLenum -> GLint -> m ()


module Graphics.GL.EXT.GPUShader4

-- | Is the <a>EXT_gpu_shader4</a> extension supported?
glGetEXTGPUShader4 :: MonadIO m => m Bool

-- | Is the <a>EXT_gpu_shader4</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTGPUShader4</a> 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 <a>glBindFragDataLocation</a>.
glBindFragDataLocationEXT :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | This command is an alias for <a>glGetFragDataLocation</a>.
glGetFragDataLocationEXT :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | This command is an alias for <a>glGetUniformuiv</a>.
glGetUniformuivEXT :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glUniform1ui</a>.
glUniform1uiEXT :: MonadIO m => GLint -> GLuint -> m ()

-- | This command is an alias for <a>glUniform1uiv</a>.
glUniform1uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glUniform2ui</a>.
glUniform2uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glUniform2uiv</a>.
glUniform2uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glUniform3ui</a>.
glUniform3uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glUniform3uiv</a>.
glUniform3uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glUniform4ui</a>.
glUniform4uiEXT :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glUniform4uiv</a>.
glUniform4uivEXT :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()


module Graphics.GL.EXT.GPUProgramParameters

-- | Is the <a>EXT_gpu_program_parameters</a> extension supported?
glGetEXTGPUProgramParameters :: MonadIO m => m Bool

-- | Is the <a>EXT_gpu_program_parameters</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTGPUProgramParameters</a> 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 <a>EXT_framebuffer_object</a> extension supported?
glGetEXTFramebufferObject :: MonadIO m => m Bool

-- | Is the <a>EXT_framebuffer_object</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTFramebufferObject</a> 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 <a>glCheckFramebufferStatus</a>.
glCheckFramebufferStatusEXT :: MonadIO m => GLenum -> m GLenum

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

-- | This command is an alias for <a>glDeleteRenderbuffers</a>.
glDeleteRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glFramebufferRenderbuffer</a>.
glFramebufferRenderbufferEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glFramebufferTexture1D</a>.
glFramebufferTexture1DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTexture2D</a>.
glFramebufferTexture2DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | This command is an alias for <a>glFramebufferTexture3D</a>.
glFramebufferTexture3DEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glGenFramebuffers</a>.
glGenFramebuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGenRenderbuffers</a>.
glGenRenderbuffersEXT :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGenerateMipmap</a>.
glGenerateMipmapEXT :: MonadIO m => GLenum -> m ()

-- | This command is an alias for
--   <a>glGetFramebufferAttachmentParameteriv</a>.
glGetFramebufferAttachmentParameterivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetRenderbufferParameteriv</a>.
glGetRenderbufferParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glIsFramebuffer</a>.
glIsFramebufferEXT :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glIsRenderbuffer</a>.
glIsRenderbufferEXT :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glRenderbufferStorage</a>.
glRenderbufferStorageEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()


module Graphics.GL.EXT.FramebufferMultisample

-- | Is the <a>EXT_framebuffer_multisample</a> extension supported?
glGetEXTFramebufferMultisample :: MonadIO m => m Bool

-- | Is the <a>EXT_framebuffer_multisample</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTFramebufferMultisample</a> 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 <a>glRenderbufferStorageMultisample</a>.
glRenderbufferStorageMultisampleEXT :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()


module Graphics.GL.EXT.FramebufferBlit

-- | Is the <a>EXT_framebuffer_blit</a> extension supported?
glGetEXTFramebufferBlit :: MonadIO m => m Bool

-- | Is the <a>EXT_framebuffer_blit</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTFramebufferBlit</a> 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 <a>glBlitFramebuffer</a>.
glBlitFramebufferEXT :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()


module Graphics.GL.EXT.FogCoord

-- | Is the <a>EXT_fog_coord</a> extension supported?
glGetEXTFogCoord :: MonadIO m => m Bool

-- | Is the <a>EXT_fog_coord</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTFogCoord</a> 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 <a>glFogCoordPointer</a>.
glFogCoordPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | The vector equivalent of this command is <a>glFogCoorddvEXT</a>. This
--   command is an alias for <a>glFogCoordd</a>.
glFogCoorddEXT :: MonadIO m => GLdouble -> m ()

-- | This command is an alias for <a>glFogCoorddv</a>.
glFogCoorddvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glFogCoordfvEXT</a>. This
--   command is an alias for <a>glFogCoordf</a>.
glFogCoordfEXT :: MonadIO m => GLfloat -> m ()

-- | This command is an alias for <a>glFogCoordfv</a>.
glFogCoordfvEXT :: MonadIO m => Ptr GLfloat -> m ()


module Graphics.GL.EXT.ExternalBuffer

-- | Is the <a>EXT_external_buffer</a> extension supported?
glGetEXTExternalBuffer :: MonadIO m => m Bool

-- | Is the <a>EXT_external_buffer</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTExternalBuffer</a> 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 <a>EXT_draw_range_elements</a> extension supported?
glGetEXTDrawRangeElements :: MonadIO m => m Bool

-- | Is the <a>EXT_draw_range_elements</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTDrawRangeElements</a> 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 <a>glDrawRangeElements</a>.
glDrawRangeElementsEXT :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()


module Graphics.GL.EXT.DrawInstanced

-- | Is the <a>EXT_draw_instanced</a> extension supported?
glGetEXTDrawInstanced :: MonadIO m => m Bool

-- | Is the <a>EXT_draw_instanced</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTDrawInstanced</a> in those cases instead.
gl_EXT_draw_instanced :: Bool

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

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


module Graphics.GL.EXT.DrawBuffers2

-- | Is the <a>EXT_draw_buffers2</a> extension supported?
glGetEXTDrawBuffers2 :: MonadIO m => m Bool

-- | Is the <a>EXT_draw_buffers2</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTDrawBuffers2</a> in those cases instead.
gl_EXT_draw_buffers2 :: Bool

-- | This command is an alias for <a>glColorMaski</a>.
glColorMaskIndexedEXT :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

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

-- | This command is an alias for <a>glEnablei</a>.
glEnableIndexedEXT :: MonadIO m => GLenum -> GLuint -> m ()

-- | This command is an alias for <a>glGetBooleani_v</a>.
glGetBooleanIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | This command is an alias for <a>glGetIntegeri_v</a>.
glGetIntegerIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glIsEnabledi</a>.
glIsEnabledIndexedEXT :: MonadIO m => GLenum -> GLuint -> m GLboolean


module Graphics.GL.EXT.DirectStateAccess

-- | Is the <a>EXT_direct_state_access</a> extension supported?
glGetEXTDirectStateAccess :: MonadIO m => m Bool

-- | Is the <a>EXT_direct_state_access</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTDirectStateAccess</a> 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 <a>glDisablei</a>.
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 <a>glEnablei</a>.
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 <a>glGetBooleani_v</a>.
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 <a>glGetDoublei_v</a>.
glGetDoubleIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glGetDoublei_v</a>.
glGetDoublei_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glGetFloati_v</a>.
glGetFloatIndexedvEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetFloati_v</a>.
glGetFloati_vEXT :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()
glGetFramebufferParameterivEXT :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetIntegeri_v</a>.
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 <a>glIsEnabledi</a>.
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 <a>glMultiTexEnvfvEXT</a>.
glMultiTexEnvfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexEnvfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexEnvivEXT</a>.
glMultiTexEnviEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLint -> m ()
glMultiTexEnvivEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexGendvEXT</a>.
glMultiTexGendEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLdouble -> m ()
glMultiTexGendvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexGenfvEXT</a>.
glMultiTexGenfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexGenfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexGenivEXT</a>.
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
--   <a>glMultiTexParameterfvEXT</a>.
glMultiTexParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLfloat -> m ()
glMultiTexParameterfvEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   <a>glMultiTexParameterivEXT</a>.
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 <a>glNamedBufferStorage</a>.
glNamedBufferStorageEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | This command is an alias for <a>glNamedBufferSubData</a>.
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
--   <a>glNamedProgramLocalParameter4dvEXT</a>.
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
--   <a>glNamedProgramLocalParameter4fvEXT</a>.
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
--   <a>glNamedProgramLocalParameterI4ivEXT</a>.
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
--   <a>glNamedProgramLocalParameterI4uivEXT</a>.
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 <a>glProgramUniform1f</a>.
glProgramUniform1fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform1fv</a>.
glProgramUniform1fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform1i</a>.
glProgramUniform1iEXT :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glProgramUniform1iv</a>.
glProgramUniform1ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glProgramUniform1ui</a>.
glProgramUniform1uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | This command is an alias for <a>glProgramUniform1uiv</a>.
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 <a>glProgramUniform2f</a>.
glProgramUniform2fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform2fv</a>.
glProgramUniform2fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform2i</a>.
glProgramUniform2iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glProgramUniform2iv</a>.
glProgramUniform2ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glProgramUniform2ui</a>.
glProgramUniform2uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glProgramUniform2uiv</a>.
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 <a>glProgramUniform3f</a>.
glProgramUniform3fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform3fv</a>.
glProgramUniform3fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform3i</a>.
glProgramUniform3iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glProgramUniform3iv</a>.
glProgramUniform3ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glProgramUniform3ui</a>.
glProgramUniform3uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glProgramUniform3uiv</a>.
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 <a>glProgramUniform4f</a>.
glProgramUniform4fEXT :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform4fv</a>.
glProgramUniform4fvEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glProgramUniform4i</a>.
glProgramUniform4iEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glProgramUniform4iv</a>.
glProgramUniform4ivEXT :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glProgramUniform4ui</a>.
glProgramUniform4uiEXT :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | This command is an alias for <a>glProgramUniform4uiv</a>.
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 <a>glProgramUniformMatrix2fv</a>.
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 <a>glProgramUniformMatrix2x3fv</a>.
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 <a>glProgramUniformMatrix2x4fv</a>.
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 <a>glProgramUniformMatrix3fv</a>.
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 <a>glProgramUniformMatrix3x2fv</a>.
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 <a>glProgramUniformMatrix3x4fv</a>.
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 <a>glProgramUniformMatrix4fv</a>.
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 <a>glProgramUniformMatrix4x2fv</a>.
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 <a>glProgramUniformMatrix4x3fv</a>.
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
--   <a>glTextureParameterfvEXT</a>.
glTextureParameterfEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> GLfloat -> m ()
glTextureParameterfvEXT :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is
--   <a>glTextureParameterivEXT</a>.
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 <a>EXT_depth_bounds_test</a> extension supported?
glGetEXTDepthBoundsTest :: MonadIO m => m Bool

-- | Is the <a>EXT_depth_bounds_test</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTDepthBoundsTest</a> 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 <a>EXT_debug_marker</a> extension supported?
glGetEXTDebugMarker :: MonadIO m => m Bool

-- | Is the <a>EXT_debug_marker</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTDebugMarker</a> 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 <a>EXT_debug_label</a> extension supported?
glGetEXTDebugLabel :: MonadIO m => m Bool

-- | Is the <a>EXT_debug_label</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTDebugLabel</a> 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 <a>EXT_cull_vertex</a> extension supported?
glGetEXTCullVertex :: MonadIO m => m Bool

-- | Is the <a>EXT_cull_vertex</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTCullVertex</a> 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 <a>EXT_copy_texture</a> extension supported?
glGetEXTCopyTexture :: MonadIO m => m Bool

-- | Is the <a>EXT_copy_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTCopyTexture</a> in those cases instead.
gl_EXT_copy_texture :: Bool

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

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

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

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

-- | This command is an alias for <a>glCopyTexSubImage3D</a>.
glCopyTexSubImage3DEXT :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()


module Graphics.GL.EXT.CoordinateFrame

-- | Is the <a>EXT_coordinate_frame</a> extension supported?
glGetEXTCoordinateFrame :: MonadIO m => m Bool

-- | Is the <a>EXT_coordinate_frame</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTCoordinateFrame</a> 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 <a>glBinormal3bvEXT</a>.
glBinormal3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glBinormal3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

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

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

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

-- | The vector equivalent of this command is <a>glBinormal3svEXT</a>.
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 <a>glTangent3bvEXT</a>.
glTangent3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glTangent3bvEXT :: MonadIO m => Ptr GLbyte -> m ()

-- | The vector equivalent of this command is <a>glTangent3dvEXT</a>.
glTangent3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glTangent3dvEXT :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glTangent3fvEXT</a>.
glTangent3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glTangent3fvEXT :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glTangent3ivEXT</a>.
glTangent3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()
glTangent3ivEXT :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glTangent3svEXT</a>.
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 <a>EXT_convolution</a> extension supported?
glGetEXTConvolution :: MonadIO m => m Bool

-- | Is the <a>EXT_convolution</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTConvolution</a> 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 <a>glConvolutionFilter1D</a>.
glConvolutionFilter1DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

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

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

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

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

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

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

-- | This command is an alias for <a>glCopyConvolutionFilter2D</a>.
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 <a>glSeparableFilter2D</a>.
glSeparableFilter2DEXT :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> m ()


module Graphics.GL.EXT.CompiledVertexArray

-- | Is the <a>EXT_compiled_vertex_array</a> extension supported?
glGetEXTCompiledVertexArray :: MonadIO m => m Bool

-- | Is the <a>EXT_compiled_vertex_array</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTCompiledVertexArray</a> 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 <a>EXT_color_subtable</a> extension supported?
glGetEXTColorSubtable :: MonadIO m => m Bool

-- | Is the <a>EXT_color_subtable</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTColorSubtable</a> in those cases instead.
gl_EXT_color_subtable :: Bool

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

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


module Graphics.GL.EXT.BlendMinmax

-- | Is the <a>EXT_blend_minmax</a> extension supported?
glGetEXTBlendMinmax :: MonadIO m => m Bool

-- | Is the <a>EXT_blend_minmax</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTBlendMinmax</a> 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 <a>glBlendEquation</a>.
glBlendEquationEXT :: MonadIO m => GLenum -> m ()


module Graphics.GL.EXT.BlendFuncSeparate

-- | Is the <a>EXT_blend_func_separate</a> extension supported?
glGetEXTBlendFuncSeparate :: MonadIO m => m Bool

-- | Is the <a>EXT_blend_func_separate</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTBlendFuncSeparate</a> 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 <a>glBlendFuncSeparate</a>.
glBlendFuncSeparateEXT :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()


module Graphics.GL.EXT.BlendEquationSeparate

-- | Is the <a>EXT_blend_equation_separate</a> extension supported?
glGetEXTBlendEquationSeparate :: MonadIO m => m Bool

-- | Is the <a>EXT_blend_equation_separate</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetEXTBlendEquationSeparate</a> 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 <a>glBlendEquationSeparate</a>.
glBlendEquationSeparateEXT :: MonadIO m => GLenum -> GLenum -> m ()


module Graphics.GL.EXT.BlendColor

-- | Is the <a>EXT_blend_color</a> extension supported?
glGetEXTBlendColor :: MonadIO m => m Bool

-- | Is the <a>EXT_blend_color</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetEXTBlendColor</a> 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 <a>glBlendColor</a>.
glBlendColorEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()


module Graphics.GL.EXT.BindableUniform

-- | Is the <a>EXT_bindable_uniform</a> extension supported?
glGetEXTBindableUniform :: MonadIO m => m Bool

-- | Is the <a>EXT_bindable_uniform</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTBindableUniform</a> 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 <a>ATI_vertex_streams</a> extension supported?
glGetATIVertexStreams :: MonadIO m => m Bool

-- | Is the <a>ATI_vertex_streams</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetATIVertexStreams</a> 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 <a>ATI_vertex_attrib_array_object</a> extension supported?
glGetATIVertexAttribArrayObject :: MonadIO m => m Bool

-- | Is the <a>ATI_vertex_attrib_array_object</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetATIVertexAttribArrayObject</a> 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 <a>ATI_vertex_array_object</a> extension supported?
glGetATIVertexArrayObject :: MonadIO m => m Bool

-- | Is the <a>ATI_vertex_array_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetATIVertexArrayObject</a> 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 <a>ATI_separate_stencil</a> extension supported?
glGetATISeparateStencil :: MonadIO m => m Bool

-- | Is the <a>ATI_separate_stencil</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetATISeparateStencil</a> 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 <a>glStencilOpSeparate</a>.
glStencilOpSeparateATI :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()


module Graphics.GL.ATI.PNTriangles

-- | Is the <a>ATI_pn_triangles</a> extension supported?
glGetATIPNTriangles :: MonadIO m => m Bool

-- | Is the <a>ATI_pn_triangles</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetATIPNTriangles</a> 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 <a>ATI_map_object_buffer</a> extension supported?
glGetATIMapObjectBuffer :: MonadIO m => m Bool

-- | Is the <a>ATI_map_object_buffer</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetATIMapObjectBuffer</a> 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 <a>ATI_fragment_shader</a> extension supported?
glGetATIFragmentShader :: MonadIO m => m Bool

-- | Is the <a>ATI_fragment_shader</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetATIFragmentShader</a> 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 <a>ATI_envmap_bumpmap</a> extension supported?
glGetATIEnvmapBumpmap :: MonadIO m => m Bool

-- | Is the <a>ATI_envmap_bumpmap</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetATIEnvmapBumpmap</a> 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 <a>ATI_element_array</a> extension supported?
glGetATIElementArray :: MonadIO m => m Bool

-- | Is the <a>ATI_element_array</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetATIElementArray</a> 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 <a>ATI_draw_buffers</a> extension supported?
glGetATIDrawBuffers :: MonadIO m => m Bool

-- | Is the <a>ATI_draw_buffers</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetATIDrawBuffers</a> 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 <a>glDrawBuffers</a>.
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 <a>ARB_window_pos</a> extension supported?
glGetARBWindowPos :: MonadIO m => m Bool

-- | Is the <a>ARB_window_pos</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBWindowPos</a> in those cases instead.
gl_ARB_window_pos :: Bool

-- | The vector equivalent of this command is <a>glWindowPos2dvARB</a>.
--   This command is an alias for <a>glWindowPos2d</a>.
glWindowPos2dARB :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glWindowPos2dv</a>.
glWindowPos2dvARB :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2fvARB</a>.
--   This command is an alias for <a>glWindowPos2f</a>.
glWindowPos2fARB :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glWindowPos2fv</a>.
glWindowPos2fvARB :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2ivARB</a>.
--   This command is an alias for <a>glWindowPos2i</a>.
glWindowPos2iARB :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for <a>glWindowPos2iv</a>.
glWindowPos2ivARB :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos2svARB</a>.
--   This command is an alias for <a>glWindowPos2s</a>.
glWindowPos2sARB :: MonadIO m => GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glWindowPos2sv</a>.
glWindowPos2svARB :: MonadIO m => Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3dvARB</a>.
--   This command is an alias for <a>glWindowPos3d</a>.
glWindowPos3dARB :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glWindowPos3dv</a>.
glWindowPos3dvARB :: MonadIO m => Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3fvARB</a>.
--   This command is an alias for <a>glWindowPos3f</a>.
glWindowPos3fARB :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glWindowPos3fv</a>.
glWindowPos3fvARB :: MonadIO m => Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3ivARB</a>.
--   This command is an alias for <a>glWindowPos3i</a>.
glWindowPos3iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glWindowPos3iv</a>.
glWindowPos3ivARB :: MonadIO m => Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glWindowPos3svARB</a>.
--   This command is an alias for <a>glWindowPos3s</a>.
glWindowPos3sARB :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glWindowPos3sv</a>.
glWindowPos3svARB :: MonadIO m => Ptr GLshort -> m ()


module Graphics.GL.ARB.ViewportArray

-- | Is the <a>ARB_viewport_array</a> extension supported?
glGetARBViewportArray :: MonadIO m => m Bool

-- | Is the <a>ARB_viewport_array</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBViewportArray</a> 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 <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()


module Graphics.GL.ARB.VertexType2101010RevCore

-- | Is the <a>ARB_vertex_type_2_10_10_10_rev</a> extension supported?
glGetARBVertexType2101010Rev :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_type_2_10_10_10_rev</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBVertexType2101010Rev</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()


module Graphics.GL.ARB.VertexType2101010RevCompatibility

-- | Is the <a>ARB_vertex_type_2_10_10_10_rev</a> extension supported?
glGetARBVertexType2101010Rev :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_type_2_10_10_10_rev</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBVertexType2101010Rev</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>ARB_vertex_shader</a> extension supported?
glGetARBVertexShader :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_shader</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBVertexShader</a> 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 <a>glBindAttribLocation</a>.
glBindAttribLocationARB :: MonadIO m => GLhandleARB -> GLuint -> Ptr GLcharARB -> m ()

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

-- | This command is an alias for <a>glEnableVertexAttribArray</a>.
glEnableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()

-- | This command is an alias for <a>glGetActiveAttrib</a>.
glGetActiveAttribARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m ()

-- | This command is an alias for <a>glGetAttribLocation</a>.
glGetAttribLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint

-- | This command is an alias for <a>glGetVertexAttribPointerv</a>.
glGetVertexAttribPointervARB :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for <a>glGetVertexAttribdv</a>.
glGetVertexAttribdvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glGetVertexAttribfv</a>.
glGetVertexAttribfvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetVertexAttribiv</a>.
glGetVertexAttribivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1dvARB</a>.
--   This command is an alias for <a>glVertexAttrib1d</a>.
glVertexAttrib1dARB :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib1dv</a>.
glVertexAttrib1dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1fvARB</a>.
--   This command is an alias for <a>glVertexAttrib1f</a>.
glVertexAttrib1fARB :: MonadIO m => GLuint -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib1fv</a>.
glVertexAttrib1fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1svARB</a>.
--   This command is an alias for <a>glVertexAttrib1s</a>.
glVertexAttrib1sARB :: MonadIO m => GLuint -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib1sv</a>.
glVertexAttrib1svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2dvARB</a>.
--   This command is an alias for <a>glVertexAttrib2d</a>.
glVertexAttrib2dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib2dv</a>.
glVertexAttrib2dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2fvARB</a>.
--   This command is an alias for <a>glVertexAttrib2f</a>.
glVertexAttrib2fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib2fv</a>.
glVertexAttrib2fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2svARB</a>.
--   This command is an alias for <a>glVertexAttrib2s</a>.
glVertexAttrib2sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib2sv</a>.
glVertexAttrib2svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3dvARB</a>.
--   This command is an alias for <a>glVertexAttrib3d</a>.
glVertexAttrib3dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib3dv</a>.
glVertexAttrib3dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3fvARB</a>.
--   This command is an alias for <a>glVertexAttrib3f</a>.
glVertexAttrib3fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib3fv</a>.
glVertexAttrib3fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3svARB</a>.
--   This command is an alias for <a>glVertexAttrib3s</a>.
glVertexAttrib3sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib3sv</a>.
glVertexAttrib3svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nbv</a>.
glVertexAttrib4NbvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Niv</a>.
glVertexAttrib4NivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nsv</a>.
glVertexAttrib4NsvARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nub</a>.
glVertexAttrib4NubARB :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nubv</a>.
glVertexAttrib4NubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nuiv</a>.
glVertexAttrib4NuivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nusv</a>.
glVertexAttrib4NusvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for <a>glVertexAttrib4bv</a>.
glVertexAttrib4bvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4dvARB</a>.
--   This command is an alias for <a>glVertexAttrib4d</a>.
glVertexAttrib4dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib4dv</a>.
glVertexAttrib4dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4fvARB</a>.
--   This command is an alias for <a>glVertexAttrib4f</a>.
glVertexAttrib4fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib4fv</a>.
glVertexAttrib4fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib4iv</a>.
glVertexAttrib4ivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   <tt>glVertexAttrib4svARB</tt>. This command is an alias for
--   <a>glVertexAttrib4s</a>.
glVertexAttrib4sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <tt>glVertexAttrib4sv</tt>.
glVertexAttrib4svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib4ubv</a>.
glVertexAttrib4ubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4uiv</a>.
glVertexAttrib4uivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttrib4usv</a>.
glVertexAttrib4usvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for <a>glVertexAttribPointer</a>.
glVertexAttribPointerARB :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()


module Graphics.GL.ARB.VertexProgram

-- | Is the <a>ARB_vertex_program</a> extension supported?
glGetARBVertexProgram :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_program</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBVertexProgram</a> 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 <a>glDisableVertexAttribArray</a>.
glDisableVertexAttribArrayARB :: MonadIO m => GLuint -> m ()

-- | This command is an alias for <a>glEnableVertexAttribArray</a>.
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 <a>glGetVertexAttribPointerv</a>.
glGetVertexAttribPointervARB :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for <a>glGetVertexAttribdv</a>.
glGetVertexAttribdvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | This command is an alias for <a>glGetVertexAttribfv</a>.
glGetVertexAttribfvARB :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetVertexAttribiv</a>.
glGetVertexAttribivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glIsProgramARB :: MonadIO m => GLuint -> m GLboolean

-- | The vector equivalent of this command is
--   <a>glProgramEnvParameter4dvARB</a>.
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
--   <a>glProgramEnvParameter4fvARB</a>.
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
--   <a>glProgramLocalParameter4dvARB</a>.
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
--   <a>glProgramLocalParameter4fvARB</a>.
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 <a>glVertexAttrib1dvARB</a>.
--   This command is an alias for <a>glVertexAttrib1d</a>.
glVertexAttrib1dARB :: MonadIO m => GLuint -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib1dv</a>.
glVertexAttrib1dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1fvARB</a>.
--   This command is an alias for <a>glVertexAttrib1f</a>.
glVertexAttrib1fARB :: MonadIO m => GLuint -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib1fv</a>.
glVertexAttrib1fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib1svARB</a>.
--   This command is an alias for <a>glVertexAttrib1s</a>.
glVertexAttrib1sARB :: MonadIO m => GLuint -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib1sv</a>.
glVertexAttrib1svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2dvARB</a>.
--   This command is an alias for <a>glVertexAttrib2d</a>.
glVertexAttrib2dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib2dv</a>.
glVertexAttrib2dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2fvARB</a>.
--   This command is an alias for <a>glVertexAttrib2f</a>.
glVertexAttrib2fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib2fv</a>.
glVertexAttrib2fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib2svARB</a>.
--   This command is an alias for <a>glVertexAttrib2s</a>.
glVertexAttrib2sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib2sv</a>.
glVertexAttrib2svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3dvARB</a>.
--   This command is an alias for <a>glVertexAttrib3d</a>.
glVertexAttrib3dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib3dv</a>.
glVertexAttrib3dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3fvARB</a>.
--   This command is an alias for <a>glVertexAttrib3f</a>.
glVertexAttrib3fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib3fv</a>.
glVertexAttrib3fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib3svARB</a>.
--   This command is an alias for <a>glVertexAttrib3s</a>.
glVertexAttrib3sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib3sv</a>.
glVertexAttrib3svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nbv</a>.
glVertexAttrib4NbvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Niv</a>.
glVertexAttrib4NivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nsv</a>.
glVertexAttrib4NsvARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nub</a>.
glVertexAttrib4NubARB :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nubv</a>.
glVertexAttrib4NubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nuiv</a>.
glVertexAttrib4NuivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttrib4Nusv</a>.
glVertexAttrib4NusvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for <a>glVertexAttrib4bv</a>.
glVertexAttrib4bvARB :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4dvARB</a>.
--   This command is an alias for <a>glVertexAttrib4d</a>.
glVertexAttrib4dARB :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glVertexAttrib4dv</a>.
glVertexAttrib4dvARB :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glVertexAttrib4fvARB</a>.
--   This command is an alias for <a>glVertexAttrib4f</a>.
glVertexAttrib4fARB :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib4fv</a>.
glVertexAttrib4fvARB :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glVertexAttrib4iv</a>.
glVertexAttrib4ivARB :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | The vector equivalent of this command is
--   <tt>glVertexAttrib4svARB</tt>. This command is an alias for
--   <a>glVertexAttrib4s</a>.
glVertexAttrib4sARB :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <tt>glVertexAttrib4sv</tt>.
glVertexAttrib4svARB :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | This command is an alias for <a>glVertexAttrib4ubv</a>.
glVertexAttrib4ubvARB :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | This command is an alias for <a>glVertexAttrib4uiv</a>.
glVertexAttrib4uivARB :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glVertexAttrib4usv</a>.
glVertexAttrib4usvARB :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | This command is an alias for <a>glVertexAttribPointer</a>.
glVertexAttribPointerARB :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()


module Graphics.GL.ARB.VertexBufferObject

-- | Is the <a>ARB_vertex_buffer_object</a> extension supported?
glGetARBVertexBufferObject :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBVertexBufferObject</a> 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 <a>glBindBuffer</a>.
glBindBufferARB :: MonadIO m => GLenum -> GLuint -> m ()

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

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

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

-- | This command is an alias for <a>glGenBuffers</a>.
glGenBuffersARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGetBufferParameteriv</a>.
glGetBufferParameterivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetBufferPointerv</a>.
glGetBufferPointervARB :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | This command is an alias for <a>glGetBufferSubData</a>.
glGetBufferSubDataARB :: MonadIO m => GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> m ()

-- | This command is an alias for <a>glIsBuffer</a>.
glIsBufferARB :: MonadIO m => GLuint -> m GLboolean

-- | This command is an alias for <a>glMapBuffer</a>.
glMapBufferARB :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | This command is an alias for <a>glUnmapBuffer</a>.
glUnmapBufferARB :: MonadIO m => GLenum -> m GLboolean


module Graphics.GL.ARB.VertexBlend

-- | Is the <a>ARB_vertex_blend</a> extension supported?
glGetARBVertexBlend :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_blend</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBVertexBlend</a> 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 <a>ARB_vertex_attrib_binding</a> extension supported?
glGetARBVertexAttribBinding :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_attrib_binding</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBVertexAttribBinding</a> 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 <a>OpenGL 4.x</a>.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()


module Graphics.GL.ARB.VertexAttrib64Bit

-- | Is the <a>ARB_vertex_attrib_64bit</a> extension supported?
glGetARBVertexAttrib64Bit :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_attrib_64bit</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBVertexAttrib64Bit</a> 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 <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

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


module Graphics.GL.ARB.VertexArrayObject

-- | Is the <a>ARB_vertex_array_object</a> extension supported?
glGetARBVertexArrayObject :: MonadIO m => m Bool

-- | Is the <a>ARB_vertex_array_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBVertexArrayObject</a> in those cases
--   instead.
gl_ARB_vertex_array_object :: Bool
pattern GL_VERTEX_ARRAY_BINDING :: GLenum

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

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean


module Graphics.GL.ARB.UniformBufferObject

-- | Is the <a>ARB_uniform_buffer_object</a> extension supported?
glGetARBUniformBufferObject :: MonadIO m => m Bool

-- | Is the <a>ARB_uniform_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBUniformBufferObject</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()


module Graphics.GL.ARB.TransposeMatrix

-- | Is the <a>ARB_transpose_matrix</a> extension supported?
glGetARBTransposeMatrix :: MonadIO m => m Bool

-- | Is the <a>ARB_transpose_matrix</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTransposeMatrix</a> 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 <a>glLoadTransposeMatrixd</a>.
glLoadTransposeMatrixdARB :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glLoadTransposeMatrixf</a>.
glLoadTransposeMatrixfARB :: MonadIO m => Ptr GLfloat -> m ()

-- | This command is an alias for <a>glMultTransposeMatrixd</a>.
glMultTransposeMatrixdARB :: MonadIO m => Ptr GLdouble -> m ()

-- | This command is an alias for <a>glMultTransposeMatrixf</a>.
glMultTransposeMatrixfARB :: MonadIO m => Ptr GLfloat -> m ()


module Graphics.GL.ARB.TransformFeedbackInstanced

-- | Is the <a>ARB_transform_feedback_instanced</a> extension supported?
glGetARBTransformFeedbackInstanced :: MonadIO m => m Bool

-- | Is the <a>ARB_transform_feedback_instanced</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBTransformFeedbackInstanced</a> in those cases instead.
gl_ARB_transform_feedback_instanced :: Bool

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

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


module Graphics.GL.ARB.TransformFeedback3

-- | Is the <a>ARB_transform_feedback3</a> extension supported?
glGetARBTransformFeedback3 :: MonadIO m => m Bool

-- | Is the <a>ARB_transform_feedback3</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTransformFeedback3</a> 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 <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

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


module Graphics.GL.ARB.TransformFeedback2

-- | Is the <a>ARB_transform_feedback2</a> extension supported?
glGetARBTransformFeedback2 :: MonadIO m => m Bool

-- | Is the <a>ARB_transform_feedback2</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTransformFeedback2</a> 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 <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()


module Graphics.GL.ARB.TimerQuery

-- | Is the <a>ARB_timer_query</a> extension supported?
glGetARBTimerQuery :: MonadIO m => m Bool

-- | Is the <a>ARB_timer_query</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBTimerQuery</a> in those cases instead.
gl_ARB_timer_query :: Bool
pattern GL_TIMESTAMP :: GLenum
pattern GL_TIME_ELAPSED :: GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

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


module Graphics.GL.ARB.TextureView

-- | Is the <a>ARB_texture_view</a> extension supported?
glGetARBTextureView :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_view</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBTextureView</a> 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 <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()


module Graphics.GL.ARB.TextureStorageMultisample

-- | Is the <a>ARB_texture_storage_multisample</a> extension supported?
glGetARBTextureStorageMultisample :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_storage_multisample</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBTextureStorageMultisample</a> in those cases instead.
gl_ARB_texture_storage_multisample :: Bool

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()


module Graphics.GL.ARB.TextureStorage

-- | Is the <a>ARB_texture_storage</a> extension supported?
glGetARBTextureStorage :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_storage</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureStorage</a> in those cases
--   instead.
gl_ARB_texture_storage :: Bool
pattern GL_TEXTURE_IMMUTABLE_FORMAT :: GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()


module Graphics.GL.ARB.TextureMultisample

-- | Is the <a>ARB_texture_multisample</a> extension supported?
glGetARBTextureMultisample :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_multisample</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureMultisample</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()


module Graphics.GL.ARB.TextureCompression

-- | Is the <a>ARB_texture_compression</a> extension supported?
glGetARBTextureCompression :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_compression</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureCompression</a> 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 <a>glCompressedTexImage1D</a>.
glCompressedTexImage1DARB :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

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

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

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

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

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

-- | This command is an alias for <a>glGetCompressedTexImage</a>.
glGetCompressedTexImageARB :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()


module Graphics.GL.ARB.TextureBufferRange

-- | Is the <a>ARB_texture_buffer_range</a> extension supported?
glGetARBTextureBufferRange :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_buffer_range</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureBufferRange</a> 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 <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()


module Graphics.GL.ARB.TextureBufferObject

-- | Is the <a>ARB_texture_buffer_object</a> extension supported?
glGetARBTextureBufferObject :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureBufferObject</a> 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 <a>glTexBuffer</a>.
glTexBufferARB :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()


module Graphics.GL.ARB.TextureBarrier

-- | Is the <a>ARB_texture_barrier</a> extension supported?
glGetARBTextureBarrier :: MonadIO m => m Bool

-- | Is the <a>ARB_texture_barrier</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTextureBarrier</a> in those cases
--   instead.
gl_ARB_texture_barrier :: Bool

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBarrier :: MonadIO m => m ()


module Graphics.GL.ARB.TessellationShader

-- | Is the <a>ARB_tessellation_shader</a> extension supported?
glGetARBTessellationShader :: MonadIO m => m Bool

-- | Is the <a>ARB_tessellation_shader</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBTessellationShader</a> 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 <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()


module Graphics.GL.ARB.Sync

-- | Is the <a>ARB_sync</a> extension supported?
glGetARBSync :: MonadIO m => m Bool

-- | Is the <a>ARB_sync</a> extension supported? Note that in the presence
--   of multiple contexts with different capabilities, this might be wrong.
--   Use <a>glGetARBSync</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()


module Graphics.GL.ARB.SparseTexture

-- | Is the <a>ARB_sparse_texture</a> extension supported?
glGetARBSparseTexture :: MonadIO m => m Bool

-- | Is the <a>ARB_sparse_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBSparseTexture</a> 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 <a>ARB_sparse_buffer</a> extension supported?
glGetARBSparseBuffer :: MonadIO m => m Bool

-- | Is the <a>ARB_sparse_buffer</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBSparseBuffer</a> 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 <a>ARB_shading_language_include</a> extension supported?
glGetARBShadingLanguageInclude :: MonadIO m => m Bool

-- | Is the <a>ARB_shading_language_include</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBShadingLanguageInclude</a> 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 <a>ARB_shader_subroutine</a> extension supported?
glGetARBShaderSubroutine :: MonadIO m => m Bool

-- | Is the <a>ARB_shader_subroutine</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBShaderSubroutine</a> 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 <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

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

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


module Graphics.GL.ARB.ShaderStorageBufferObject

-- | Is the <a>ARB_shader_storage_buffer_object</a> extension supported?
glGetARBShaderStorageBufferObject :: MonadIO m => m Bool

-- | Is the <a>ARB_shader_storage_buffer_object</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBShaderStorageBufferObject</a> 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 <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()


module Graphics.GL.ARB.ShaderObjects

-- | Is the <a>ARB_shader_objects</a> extension supported?
glGetARBShaderObjects :: MonadIO m => m Bool

-- | Is the <a>ARB_shader_objects</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBShaderObjects</a> 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 <a>glAttachShader</a>.
glAttachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m ()

-- | This command is an alias for <a>glCompileShader</a>.
glCompileShaderARB :: MonadIO m => GLhandleARB -> m ()

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

-- | This command is an alias for <a>glCreateShader</a>.
glCreateShaderObjectARB :: MonadIO m => GLenum -> m GLhandleARB
glDeleteObjectARB :: MonadIO m => GLhandleARB -> m ()

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

-- | This command is an alias for <a>glGetActiveUniform</a>.
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 <a>glGetShaderSource</a>.
glGetShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m ()

-- | This command is an alias for <a>glGetUniformLocation</a>.
glGetUniformLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint

-- | This command is an alias for <a>glGetUniformfv</a>.
glGetUniformfvARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glGetUniformiv</a>.
glGetUniformivARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLint -> m ()

-- | This command is an alias for <a>glLinkProgram</a>.
glLinkProgramARB :: MonadIO m => GLhandleARB -> m ()

-- | This command is an alias for <a>glShaderSource</a>.
glShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m ()

-- | This command is an alias for <a>glUniform1f</a>.
glUniform1fARB :: MonadIO m => GLint -> GLfloat -> m ()

-- | This command is an alias for <a>glUniform1fv</a>.
glUniform1fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniform1i</a>.
glUniform1iARB :: MonadIO m => GLint -> GLint -> m ()

-- | This command is an alias for <a>glUniform1iv</a>.
glUniform1ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glUniform2f</a>.
glUniform2fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glUniform2fv</a>.
glUniform2fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniform2i</a>.
glUniform2iARB :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glUniform2iv</a>.
glUniform2ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glUniform3f</a>.
glUniform3fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glUniform3fv</a>.
glUniform3fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniform3i</a>.
glUniform3iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glUniform3iv</a>.
glUniform3ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glUniform4f</a>.
glUniform4fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glUniform4fv</a>.
glUniform4fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniform4i</a>.
glUniform4iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glUniform4iv</a>.
glUniform4ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | This command is an alias for <a>glUniformMatrix2fv</a>.
glUniformMatrix2fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix3fv</a>.
glUniformMatrix3fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUniformMatrix4fv</a>.
glUniformMatrix4fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | This command is an alias for <a>glUseProgram</a>.
glUseProgramObjectARB :: MonadIO m => GLhandleARB -> m ()

-- | This command is an alias for <a>glValidateProgram</a>.
glValidateProgramARB :: MonadIO m => GLhandleARB -> m ()


module Graphics.GL.ARB.ShaderImageLoadStore

-- | Is the <a>ARB_shader_image_load_store</a> extension supported?
glGetARBShaderImageLoadStore :: MonadIO m => m Bool

-- | Is the <a>ARB_shader_image_load_store</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBShaderImageLoadStore</a> 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 <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()


module Graphics.GL.ARB.ShaderAtomicCounters

-- | Is the <a>ARB_shader_atomic_counters</a> extension supported?
glGetARBShaderAtomicCounters :: MonadIO m => m Bool

-- | Is the <a>ARB_shader_atomic_counters</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBShaderAtomicCounters</a> 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 <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()


module Graphics.GL.ARB.SeparateShaderObjects

-- | Is the <a>ARB_separate_shader_objects</a> extension supported?
glGetARBSeparateShaderObjects :: MonadIO m => m Bool

-- | Is the <a>ARB_separate_shader_objects</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBSeparateShaderObjects</a> 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 <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()


module Graphics.GL.ARB.SamplerObjects

-- | Is the <a>ARB_sampler_objects</a> extension supported?
glGetARBSamplerObjects :: MonadIO m => m Bool

-- | Is the <a>ARB_sampler_objects</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBSamplerObjects</a> in those cases
--   instead.
gl_ARB_sampler_objects :: Bool
pattern GL_SAMPLER_BINDING :: GLenum

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

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

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

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


module Graphics.GL.ARB.SampleShading

-- | Is the <a>ARB_sample_shading</a> extension supported?
glGetARBSampleShading :: MonadIO m => m Bool

-- | Is the <a>ARB_sample_shading</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBSampleShading</a> 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 <a>glMinSampleShading</a>.
glMinSampleShadingARB :: MonadIO m => GLfloat -> m ()


module Graphics.GL.ARB.SampleLocations

-- | Is the <a>ARB_sample_locations</a> extension supported?
glGetARBSampleLocations :: MonadIO m => m Bool

-- | Is the <a>ARB_sample_locations</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBSampleLocations</a> 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 <a>ARB_robustness</a> extension supported?
glGetARBRobustness :: MonadIO m => m Bool

-- | Is the <a>ARB_robustness</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBRobustness</a> 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 <a>glReadnPixels</a>.
glReadnPixelsARB :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()


module Graphics.GL.ARB.RobustnessCompatibility

-- | Is the <a>ARB_robustness</a> extension supported?
glGetARBRobustness :: MonadIO m => m Bool

-- | Is the <a>ARB_robustness</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBRobustness</a> 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 <a>glReadnPixels</a>.
glReadnPixelsARB :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()


module Graphics.GL.ARB.ProvokingVertex

-- | Is the <a>ARB_provoking_vertex</a> extension supported?
glGetARBProvokingVertex :: MonadIO m => m Bool

-- | Is the <a>ARB_provoking_vertex</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBProvokingVertex</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()


module Graphics.GL.ARB.ProgramInterfaceQuery

-- | Is the <a>ARB_program_interface_query</a> extension supported?
glGetARBProgramInterfaceQuery :: MonadIO m => m Bool

-- | Is the <a>ARB_program_interface_query</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBProgramInterfaceQuery</a> 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 <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

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

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


module Graphics.GL.ARB.PolygonOffsetClamp

-- | Is the <a>ARB_polygon_offset_clamp</a> extension supported?
glGetARBPolygonOffsetClamp :: MonadIO m => m Bool

-- | Is the <a>ARB_polygon_offset_clamp</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBPolygonOffsetClamp</a> 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 <a>ARB_point_parameters</a> extension supported?
glGetARBPointParameters :: MonadIO m => m Bool

-- | Is the <a>ARB_point_parameters</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBPointParameters</a> 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 <a>glPointParameterf</a>.
glPointParameterfARB :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for <a>glPointParameterfv</a>.
glPointParameterfvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()


module Graphics.GL.ARB.ParallelShaderCompile

-- | Is the <a>ARB_parallel_shader_compile</a> extension supported?
glGetARBParallelShaderCompile :: MonadIO m => m Bool

-- | Is the <a>ARB_parallel_shader_compile</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBParallelShaderCompile</a> 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 <a>glMaxShaderCompilerThreadsKHR</a>.
glMaxShaderCompilerThreadsARB :: MonadIO m => GLuint -> m ()


module Graphics.GL.ARB.OcclusionQuery

-- | Is the <a>ARB_occlusion_query</a> extension supported?
glGetARBOcclusionQuery :: MonadIO m => m Bool

-- | Is the <a>ARB_occlusion_query</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBOcclusionQuery</a> 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 <a>glBeginQuery</a>.
glBeginQueryARB :: MonadIO m => GLenum -> GLuint -> m ()

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

-- | This command is an alias for <a>glEndQuery</a>.
glEndQueryARB :: MonadIO m => GLenum -> m ()

-- | This command is an alias for <a>glGenQueries</a>.
glGenQueriesARB :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGetQueryObjectiv</a>.
glGetQueryObjectivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glGetQueryObjectuiv</a>.
glGetQueryObjectuivARB :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGetQueryiv</a>.
glGetQueryivARB :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | This command is an alias for <a>glIsQuery</a>.
glIsQueryARB :: MonadIO m => GLuint -> m GLboolean


module Graphics.GL.ARB.Multitexture

-- | Is the <a>ARB_multitexture</a> extension supported?
glGetARBMultitexture :: MonadIO m => m Bool

-- | Is the <a>ARB_multitexture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBMultitexture</a> 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 <a>glActiveTexture</a>.
glActiveTextureARB :: MonadIO m => GLenum -> m ()

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

-- | The vector equivalent of this command is <a>glMultiTexCoord1dv</a>.
--   This command is an alias for <a>glMultiTexCoord1d</a>.
glMultiTexCoord1dARB :: MonadIO m => GLenum -> GLdouble -> m ()

-- | This command is an alias for <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1fv</a>.
--   This command is an alias for <a>glMultiTexCoord1f</a>.
glMultiTexCoord1fARB :: MonadIO m => GLenum -> GLfloat -> m ()

-- | This command is an alias for <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1iv</a>.
--   This command is an alias for <a>glMultiTexCoord1i</a>.
glMultiTexCoord1iARB :: MonadIO m => GLenum -> GLint -> m ()

-- | This command is an alias for <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord1sv</a>.
--   This command is an alias for <a>glMultiTexCoord1s</a>.
glMultiTexCoord1sARB :: MonadIO m => GLenum -> GLshort -> m ()

-- | This command is an alias for <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2dv</a>.
--   This command is an alias for <a>glMultiTexCoord2d</a>.
glMultiTexCoord2dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2fv</a>.
--   This command is an alias for <a>glMultiTexCoord2f</a>.
glMultiTexCoord2fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2iv</a>.
--   This command is an alias for <a>glMultiTexCoord2i</a>.
glMultiTexCoord2iARB :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord2sv</a>.
--   This command is an alias for <a>glMultiTexCoord2s</a>.
glMultiTexCoord2sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3dv</a>.
--   This command is an alias for <a>glMultiTexCoord3d</a>.
glMultiTexCoord3dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3fv</a>.
--   This command is an alias for <a>glMultiTexCoord3f</a>.
glMultiTexCoord3fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3iv</a>.
--   This command is an alias for <a>glMultiTexCoord3i</a>.
glMultiTexCoord3iARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord3sv</a>.
--   This command is an alias for <a>glMultiTexCoord3s</a>.
glMultiTexCoord3sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4dv</a>.
--   This command is an alias for <a>glMultiTexCoord4d</a>.
glMultiTexCoord4dARB :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | This command is an alias for <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4dvARB :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4fv</a>.
--   This command is an alias for <a>glMultiTexCoord4f</a>.
glMultiTexCoord4fARB :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | This command is an alias for <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4fvARB :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4iv</a>.
--   This command is an alias for <a>glMultiTexCoord4i</a>.
glMultiTexCoord4iARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4ivARB :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | The vector equivalent of this command is <a>glMultiTexCoord4sv</a>.
--   This command is an alias for <a>glMultiTexCoord4s</a>.
glMultiTexCoord4sARB :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | This command is an alias for <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4svARB :: MonadIO m => GLenum -> Ptr GLshort -> m ()


module Graphics.GL.ARB.Multisample

-- | Is the <a>ARB_multisample</a> extension supported?
glGetARBMultisample :: MonadIO m => m Bool

-- | Is the <a>ARB_multisample</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBMultisample</a> 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 <a>glSampleCoverage</a>.
glSampleCoverageARB :: MonadIO m => GLfloat -> GLboolean -> m ()


module Graphics.GL.ARB.MultiDrawIndirect

-- | Is the <a>ARB_multi_draw_indirect</a> extension supported?
glGetARBMultiDrawIndirect :: MonadIO m => m Bool

-- | Is the <a>ARB_multi_draw_indirect</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBMultiDrawIndirect</a> in those cases
--   instead.
gl_ARB_multi_draw_indirect :: Bool

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

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


module Graphics.GL.ARB.MultiBind

-- | Is the <a>ARB_multi_bind</a> extension supported?
glGetARBMultiBind :: MonadIO m => m Bool

-- | Is the <a>ARB_multi_bind</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBMultiBind</a> in those cases instead.
gl_ARB_multi_bind :: Bool

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

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

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

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

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

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


module Graphics.GL.ARB.MatrixPalette

-- | Is the <a>ARB_matrix_palette</a> extension supported?
glGetARBMatrixPalette :: MonadIO m => m Bool

-- | Is the <a>ARB_matrix_palette</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBMatrixPalette</a> 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 <a>ARB_map_buffer_range</a> extension supported?
glGetARBMapBufferRange :: MonadIO m => m Bool

-- | Is the <a>ARB_map_buffer_range</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBMapBufferRange</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)


module Graphics.GL.ARB.InvalidateSubdata

-- | Is the <a>ARB_invalidate_subdata</a> extension supported?
glGetARBInvalidateSubdata :: MonadIO m => m Bool

-- | Is the <a>ARB_invalidate_subdata</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBInvalidateSubdata</a> in those cases
--   instead.
gl_ARB_invalidate_subdata :: Bool

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()


module Graphics.GL.ARB.InternalformatQuery2

-- | Is the <a>ARB_internalformat_query2</a> extension supported?
glGetARBInternalformatQuery2 :: MonadIO m => m Bool

-- | Is the <a>ARB_internalformat_query2</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBInternalformatQuery2</a> 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 <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()


module Graphics.GL.ARB.InternalformatQuery

-- | Is the <a>ARB_internalformat_query</a> extension supported?
glGetARBInternalformatQuery :: MonadIO m => m Bool

-- | Is the <a>ARB_internalformat_query</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBInternalformatQuery</a> in those cases
--   instead.
gl_ARB_internalformat_query :: Bool
pattern GL_NUM_SAMPLE_COUNTS :: GLenum

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


module Graphics.GL.ARB.InstancedArrays

-- | Is the <a>ARB_instanced_arrays</a> extension supported?
glGetARBInstancedArrays :: MonadIO m => m Bool

-- | Is the <a>ARB_instanced_arrays</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBInstancedArrays</a> in those cases
--   instead.
gl_ARB_instanced_arrays :: Bool
pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB :: GLenum

-- | This command is an alias for <a>glVertexAttribDivisor</a>.
glVertexAttribDivisorARB :: MonadIO m => GLuint -> GLuint -> m ()


module Graphics.GL.ARB.IndirectParameters

-- | Is the <a>ARB_indirect_parameters</a> extension supported?
glGetARBIndirectParameters :: MonadIO m => m Bool

-- | Is the <a>ARB_indirect_parameters</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBIndirectParameters</a> 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 <a>glMultiDrawArraysIndirectCount</a>.
glMultiDrawArraysIndirectCountARB :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glMultiDrawElementsIndirectCount</a>.
glMultiDrawElementsIndirectCountARB :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()


module Graphics.GL.ARB.ImagingCore

-- | Is the <a>ARB_imaging</a> extension supported?
glGetARBImaging :: MonadIO m => m Bool

-- | Is the <a>ARB_imaging</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBImaging</a> 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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

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


module Graphics.GL.ARB.ImagingCompatibility

-- | Is the <a>ARB_imaging</a> extension supported?
glGetARBImaging :: MonadIO m => m Bool

-- | Is the <a>ARB_imaging</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBImaging</a> 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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Manual page for <a>OpenGL 2.x</a>.
glGetColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetColorTableParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetColorTableParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetConvolutionFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetConvolutionParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetConvolutionParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetHistogram :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetHistogramParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetHistogramParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMinmax :: MonadIO m => GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMinmaxParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMinmaxParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetSeparableFilter :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glHistogram :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMinmax :: MonadIO m => GLenum -> GLenum -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glResetHistogram :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glResetMinmax :: MonadIO m => GLenum -> m ()

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


module Graphics.GL.ARB.GlSpirv

-- | Is the <a>ARB_gl_spirv</a> extension supported?
glGetARBGlSpirv :: MonadIO m => m Bool

-- | Is the <a>ARB_gl_spirv</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBGlSpirv</a> 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 <a>glSpecializeShader</a>.
glSpecializeShaderARB :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()


module Graphics.GL.ARB.GetTextureSubImage

-- | Is the <a>ARB_get_texture_sub_image</a> extension supported?
glGetARBGetTextureSubImage :: MonadIO m => m Bool

-- | Is the <a>ARB_get_texture_sub_image</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBGetTextureSubImage</a> in those cases
--   instead.
gl_ARB_get_texture_sub_image :: Bool

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

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


module Graphics.GL.ARB.GetProgramBinary

-- | Is the <a>ARB_get_program_binary</a> extension supported?
glGetARBGetProgramBinary :: MonadIO m => m Bool

-- | Is the <a>ARB_get_program_binary</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBGetProgramBinary</a> 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 <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

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

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


module Graphics.GL.ARB.GeometryShader4

-- | Is the <a>ARB_geometry_shader4</a> extension supported?
glGetARBGeometryShader4 :: MonadIO m => m Bool

-- | Is the <a>ARB_geometry_shader4</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBGeometryShader4</a> 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 <a>glFramebufferTexture</a>.
glFramebufferTextureARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()
glFramebufferTextureFaceARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLenum -> m ()

-- | This command is an alias for <a>glFramebufferTextureLayer</a>.
glFramebufferTextureLayerARB :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | This command is an alias for <a>glProgramParameteri</a>.
glProgramParameteriARB :: MonadIO m => GLuint -> GLenum -> GLint -> m ()


module Graphics.GL.ARB.GPUShaderInt64

-- | Is the <a>ARB_gpu_shader_int64</a> extension supported?
glGetARBGPUShaderInt64 :: MonadIO m => m Bool

-- | Is the <a>ARB_gpu_shader_int64</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBGPUShaderInt64</a> 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 <a>ARB_gpu_shader_fp64</a> extension supported?
glGetARBGPUShaderFP64 :: MonadIO m => m Bool

-- | Is the <a>ARB_gpu_shader_fp64</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBGPUShaderFP64</a> 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 <a>OpenGL 4.x</a>.
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 <a>ARB_framebuffer_object</a> extension supported?
glGetARBFramebufferObject :: MonadIO m => m Bool

-- | Is the <a>ARB_framebuffer_object</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBFramebufferObject</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

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

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

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

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

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()


module Graphics.GL.ARB.FramebufferObjectCompatibility

-- | Is the <a>ARB_framebuffer_object</a> extension supported?
glGetARBFramebufferObject :: MonadIO m => m Bool

-- | Is the <a>ARB_framebuffer_object</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBFramebufferObject</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

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

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

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

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

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()


module Graphics.GL.ARB.FramebufferNoAttachments

-- | Is the <a>ARB_framebuffer_no_attachments</a> extension supported?
glGetARBFramebufferNoAttachments :: MonadIO m => m Bool

-- | Is the <a>ARB_framebuffer_no_attachments</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBFramebufferNoAttachments</a> 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 <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

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


module Graphics.GL.ARB.FragmentProgram

-- | Is the <a>ARB_fragment_program</a> extension supported?
glGetARBFragmentProgram :: MonadIO m => m Bool

-- | Is the <a>ARB_fragment_program</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBFragmentProgram</a> 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
--   <a>glProgramEnvParameter4dvARB</a>.
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
--   <a>glProgramEnvParameter4fvARB</a>.
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
--   <a>glProgramLocalParameter4dvARB</a>.
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
--   <a>glProgramLocalParameter4fvARB</a>.
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 <a>ARB_ES3_2_compatibility</a> extension supported?
glGetARBES32Compatibility :: MonadIO m => m Bool

-- | Is the <a>ARB_ES3_2_compatibility</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBES32Compatibility</a> 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 <a>glPrimitiveBoundingBox</a>.
glPrimitiveBoundingBoxARB :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()


module Graphics.GL.ARB.ES31Compatibility

-- | Is the <a>ARB_ES3_1_compatibility</a> extension supported?
glGetARBES31Compatibility :: MonadIO m => m Bool

-- | Is the <a>ARB_ES3_1_compatibility</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBES31Compatibility</a> in those cases
--   instead.
gl_ARB_ES3_1_compatibility :: Bool
pattern GL_BACK :: GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()


module Graphics.GL.ARB.ES2Compatibility

-- | Is the <a>ARB_ES2_compatibility</a> extension supported?
glGetARBES2Compatibility :: MonadIO m => m Bool

-- | Is the <a>ARB_ES2_compatibility</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBES2Compatibility</a> 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 <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

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


module Graphics.GL.ARB.DrawInstanced

-- | Is the <a>ARB_draw_instanced</a> extension supported?
glGetARBDrawInstanced :: MonadIO m => m Bool

-- | Is the <a>ARB_draw_instanced</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBDrawInstanced</a> in those cases instead.
gl_ARB_draw_instanced :: Bool

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

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


module Graphics.GL.ARB.DrawIndirect

-- | Is the <a>ARB_draw_indirect</a> extension supported?
glGetARBDrawIndirect :: MonadIO m => m Bool

-- | Is the <a>ARB_draw_indirect</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBDrawIndirect</a> 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 <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

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


module Graphics.GL.ARB.DrawElementsBaseVertex

-- | Is the <a>ARB_draw_elements_base_vertex</a> extension supported?
glGetARBDrawElementsBaseVertex :: MonadIO m => m Bool

-- | Is the <a>ARB_draw_elements_base_vertex</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetARBDrawElementsBaseVertex</a> in
--   those cases instead.
gl_ARB_draw_elements_base_vertex :: Bool

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

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

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

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


module Graphics.GL.ARB.DrawBuffersBlend

-- | Is the <a>ARB_draw_buffers_blend</a> extension supported?
glGetARBDrawBuffersBlend :: MonadIO m => m Bool

-- | Is the <a>ARB_draw_buffers_blend</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBDrawBuffersBlend</a> in those cases
--   instead.
gl_ARB_draw_buffers_blend :: Bool

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

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

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

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


module Graphics.GL.ARB.DrawBuffers

-- | Is the <a>ARB_draw_buffers</a> extension supported?
glGetARBDrawBuffers :: MonadIO m => m Bool

-- | Is the <a>ARB_draw_buffers</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBDrawBuffers</a> 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 <a>glDrawBuffers</a>.
glDrawBuffersARB :: MonadIO m => GLsizei -> Ptr GLenum -> m ()


module Graphics.GL.ARB.DirectStateAccess

-- | Is the <a>ARB_direct_state_access</a> extension supported?
glGetARBDirectStateAccess :: MonadIO m => m Bool

-- | Is the <a>ARB_direct_state_access</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBDirectStateAccess</a> 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 <a>OpenGL 4.x</a>.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

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

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

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

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

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

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

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

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

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

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

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


module Graphics.GL.ARB.DebugOutput

-- | Is the <a>ARB_debug_output</a> extension supported?
glGetARBDebugOutput :: MonadIO m => m Bool

-- | Is the <a>ARB_debug_output</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBDebugOutput</a> 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 <a>glDebugMessageCallback</a>.
glDebugMessageCallbackARB :: MonadIO m => GLDEBUGPROCARB -> Ptr a -> m ()

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

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

-- | This command is an alias for <a>glGetDebugMessageLog</a>.
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 <a>ARB_copy_image</a> extension supported?
glGetARBCopyImage :: MonadIO m => m Bool

-- | Is the <a>ARB_copy_image</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBCopyImage</a> in those cases instead.
gl_ARB_copy_image :: Bool

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>ARB_copy_buffer</a> extension supported?
glGetARBCopyBuffer :: MonadIO m => m Bool

-- | Is the <a>ARB_copy_buffer</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBCopyBuffer</a> in those cases instead.
gl_ARB_copy_buffer :: Bool
pattern GL_COPY_READ_BUFFER :: GLenum
pattern GL_COPY_WRITE_BUFFER :: GLenum

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


module Graphics.GL.ARB.ComputeVariableGroupSize

-- | Is the <a>ARB_compute_variable_group_size</a> extension supported?
glGetARBComputeVariableGroupSize :: MonadIO m => m Bool

-- | Is the <a>ARB_compute_variable_group_size</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetARBComputeVariableGroupSize</a> 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 <a>ARB_compute_shader</a> extension supported?
glGetARBComputeShader :: MonadIO m => m Bool

-- | Is the <a>ARB_compute_shader</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBComputeShader</a> 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 <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()


module Graphics.GL.ARB.ColorBufferFloat

-- | Is the <a>ARB_color_buffer_float</a> extension supported?
glGetARBColorBufferFloat :: MonadIO m => m Bool

-- | Is the <a>ARB_color_buffer_float</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBColorBufferFloat</a> 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 <a>glClampColor</a>.
glClampColorARB :: MonadIO m => GLenum -> GLenum -> m ()


module Graphics.GL.ARB.ClipControl

-- | Is the <a>ARB_clip_control</a> extension supported?
glGetARBClipControl :: MonadIO m => m Bool

-- | Is the <a>ARB_clip_control</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBClipControl</a> 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 <a>OpenGL 4.x</a>.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()


module Graphics.GL.ARB.ClearTexture

-- | Is the <a>ARB_clear_texture</a> extension supported?
glGetARBClearTexture :: MonadIO m => m Bool

-- | Is the <a>ARB_clear_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBClearTexture</a> in those cases instead.
gl_ARB_clear_texture :: Bool
pattern GL_CLEAR_TEXTURE :: GLenum

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

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


module Graphics.GL.ARB.ClearBufferObject

-- | Is the <a>ARB_clear_buffer_object</a> extension supported?
glGetARBClearBufferObject :: MonadIO m => m Bool

-- | Is the <a>ARB_clear_buffer_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBClearBufferObject</a> in those cases
--   instead.
gl_ARB_clear_buffer_object :: Bool

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

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


module Graphics.GL.ARB.CLEvent

-- | Is the <a>ARB_cl_event</a> extension supported?
glGetARBCLEvent :: MonadIO m => m Bool

-- | Is the <a>ARB_cl_event</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBCLEvent</a> 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 <a>ARB_buffer_storage</a> extension supported?
glGetARBBufferStorage :: MonadIO m => m Bool

-- | Is the <a>ARB_buffer_storage</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBBufferStorage</a> 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 <a>OpenGL 4.x</a>.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()


module Graphics.GL.ARB.BlendFuncExtended

-- | Is the <a>ARB_blend_func_extended</a> extension supported?
glGetARBBlendFuncExtended :: MonadIO m => m Bool

-- | Is the <a>ARB_blend_func_extended</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBBlendFuncExtended</a> 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 <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint


module Graphics.GL.ARB.BindlessTexture

-- | Is the <a>ARB_bindless_texture</a> extension supported?
glGetARBBindlessTexture :: MonadIO m => m Bool

-- | Is the <a>ARB_bindless_texture</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBBindlessTexture</a> 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 <a>ARB_base_instance</a> extension supported?
glGetARBBaseInstance :: MonadIO m => m Bool

-- | Is the <a>ARB_base_instance</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetARBBaseInstance</a> in those cases instead.
gl_ARB_base_instance :: Bool

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

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

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


module Graphics.GL.APPLE.VertexProgramEvaluators

-- | Is the <a>APPLE_vertex_program_evaluators</a> extension supported?
glGetAPPLEVertexProgramEvaluators :: MonadIO m => m Bool

-- | Is the <a>APPLE_vertex_program_evaluators</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetAPPLEVertexProgramEvaluators</a> 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 <a>APPLE_vertex_array_range</a> extension supported?
glGetAPPLEVertexArrayRange :: MonadIO m => m Bool

-- | Is the <a>APPLE_vertex_array_range</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAPPLEVertexArrayRange</a> 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 <a>APPLE_vertex_array_object</a> extension supported?
glGetAPPLEVertexArrayObject :: MonadIO m => m Bool

-- | Is the <a>APPLE_vertex_array_object</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAPPLEVertexArrayObject</a> 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 <a>glDeleteVertexArrays</a>.
glDeleteVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glGenVertexArrays</a>.
glGenVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | This command is an alias for <a>glIsVertexArray</a>.
glIsVertexArrayAPPLE :: MonadIO m => GLuint -> m GLboolean


module Graphics.GL.APPLE.TextureRange

-- | Is the <a>APPLE_texture_range</a> extension supported?
glGetAPPLETextureRange :: MonadIO m => m Bool

-- | Is the <a>APPLE_texture_range</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAPPLETextureRange</a> 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 <a>APPLE_object_purgeable</a> extension supported?
glGetAPPLEObjectPurgeable :: MonadIO m => m Bool

-- | Is the <a>APPLE_object_purgeable</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAPPLEObjectPurgeable</a> 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 <a>APPLE_flush_buffer_range</a> extension supported?
glGetAPPLEFlushBufferRange :: MonadIO m => m Bool

-- | Is the <a>APPLE_flush_buffer_range</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAPPLEFlushBufferRange</a> 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 <a>glFlushMappedBufferRange</a>.
glFlushMappedBufferRangeAPPLE :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()


module Graphics.GL.APPLE.Fence

-- | Is the <a>APPLE_fence</a> extension supported?
glGetAPPLEFence :: MonadIO m => m Bool

-- | Is the <a>APPLE_fence</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetAPPLEFence</a> 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 <a>APPLE_element_array</a> extension supported?
glGetAPPLEElementArray :: MonadIO m => m Bool

-- | Is the <a>APPLE_element_array</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAPPLEElementArray</a> 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 <a>AMD_vertex_shader_tessellator</a> extension supported?
glGetAMDVertexShaderTessellator :: MonadIO m => m Bool

-- | Is the <a>AMD_vertex_shader_tessellator</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetAMDVertexShaderTessellator</a> 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 <a>AMD_stencil_operation_extended</a> extension supported?
glGetAMDStencilOperationExtended :: MonadIO m => m Bool

-- | Is the <a>AMD_stencil_operation_extended</a> extension supported? Note
--   that in the presence of multiple contexts with different capabilities,
--   this might be wrong. Use <a>glGetAMDStencilOperationExtended</a> 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 <a>AMD_sparse_texture</a> extension supported?
glGetAMDSparseTexture :: MonadIO m => m Bool

-- | Is the <a>AMD_sparse_texture</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetAMDSparseTexture</a> 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 <a>AMD_sample_positions</a> extension supported?
glGetAMDSamplePositions :: MonadIO m => m Bool

-- | Is the <a>AMD_sample_positions</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDSamplePositions</a> 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 <a>AMD_performance_monitor</a> extension supported?
glGetAMDPerformanceMonitor :: MonadIO m => m Bool

-- | Is the <a>AMD_performance_monitor</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDPerformanceMonitor</a> 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 <a>AMD_occlusion_query_event</a> extension supported?
glGetAMDOcclusionQueryEvent :: MonadIO m => m Bool

-- | Is the <a>AMD_occlusion_query_event</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDOcclusionQueryEvent</a> 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 <a>AMD_name_gen_delete</a> extension supported?
glGetAMDNameGenDelete :: MonadIO m => m Bool

-- | Is the <a>AMD_name_gen_delete</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDNameGenDelete</a> 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 <a>AMD_multi_draw_indirect</a> extension supported?
glGetAMDMultiDrawIndirect :: MonadIO m => m Bool

-- | Is the <a>AMD_multi_draw_indirect</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDMultiDrawIndirect</a> in those cases
--   instead.
gl_AMD_multi_draw_indirect :: Bool

-- | This command is an alias for <a>glMultiDrawArraysIndirect</a>.
glMultiDrawArraysIndirectAMD :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | This command is an alias for <a>glMultiDrawElementsIndirect</a>.
glMultiDrawElementsIndirectAMD :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()


module Graphics.GL.AMD.InterleavedElements

-- | Is the <a>AMD_interleaved_elements</a> extension supported?
glGetAMDInterleavedElements :: MonadIO m => m Bool

-- | Is the <a>AMD_interleaved_elements</a> extension supported? Note that
--   in the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDInterleavedElements</a> 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 <a>AMD_gpu_shader_int64</a> extension supported?
glGetAMDGPUShaderInt64 :: MonadIO m => m Bool

-- | Is the <a>AMD_gpu_shader_int64</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDGPUShaderInt64</a> 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 <a>AMD_framebuffer_sample_positions</a> extension supported?
glGetAMDFramebufferSamplePositions :: MonadIO m => m Bool

-- | Is the <a>AMD_framebuffer_sample_positions</a> extension supported?
--   Note that in the presence of multiple contexts with different
--   capabilities, this might be wrong. Use
--   <a>glGetAMDFramebufferSamplePositions</a> 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 <a>AMD_framebuffer_multisample_advanced</a> extension
--   supported?
glGetAMDFramebufferMultisampleAdvanced :: MonadIO m => m Bool

-- | Is the <a>AMD_framebuffer_multisample_advanced</a> extension
--   supported? Note that in the presence of multiple contexts with
--   different capabilities, this might be wrong. Use
--   <a>glGetAMDFramebufferMultisampleAdvanced</a> 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 <a>AMD_draw_buffers_blend</a> extension supported?
glGetAMDDrawBuffersBlend :: MonadIO m => m Bool

-- | Is the <a>AMD_draw_buffers_blend</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetAMDDrawBuffersBlend</a> in those cases
--   instead.
gl_AMD_draw_buffers_blend :: Bool

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

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

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

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


module Graphics.GL.AMD.DebugOutput

-- | Is the <a>AMD_debug_output</a> extension supported?
glGetAMDDebugOutput :: MonadIO m => m Bool

-- | Is the <a>AMD_debug_output</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetAMDDebugOutput</a> 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 <a>EXT_EGL_image_storage</a> extension supported?
glGetEXTEglImageStorage :: MonadIO m => m Bool

-- | Is the <a>EXT_EGL_image_storage</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetEXTEglImageStorage</a> 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 = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. 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 <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnCompressedTexImage :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawArraysIndirectCount :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawElementsIndirectCount :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()
glPolygonOffsetClamp :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glSpecializeShader :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBarrier :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. 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 <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnCompressedTexImage :: MonadIO m => GLenum -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBarrier :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. 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 <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. 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 <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexBindingDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()


module Graphics.GL.Compatibility46

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. 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 <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetnColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawArraysIndirectCount :: MonadIO m => GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()
glMultiDrawElementsIndirectCount :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLintptr -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 4.x</a>.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()
glPolygonOffsetClamp :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glSpecializeShader :: MonadIO m => GLuint -> Ptr GLchar -> GLuint -> Ptr GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBarrier :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()


module Graphics.GL.Compatibility45

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. 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 <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextureUnit :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlitNamedFramebuffer :: MonadIO m => GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glCheckNamedFramebufferStatus :: MonadIO m => GLuint -> GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedBufferData :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedBufferSubData :: MonadIO m => GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferfi :: MonadIO m => GLuint -> GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferfv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearNamedFramebufferuiv :: MonadIO m => GLuint -> GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glClipControl :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCompressedTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyNamedBufferSubData :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateQueries :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateTextures :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDisableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEnableVertexArrayAttrib :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFlushMappedNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenerateTextureMipmap :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetCompressedTextureImage :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetCompressedTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetGraphicsResetStatus :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteri64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferAttachmentParameteriv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedFramebufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetNamedRenderbufferParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameterfv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureLevelParameteriv :: MonadIO m => GLuint -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTextureSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbacki64_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbacki_v :: MonadIO m => GLuint -> GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetTransformFeedbackiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexed64iv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayIndexediv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexArrayiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()
glGetnColorTable :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glGetnTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformdv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformfv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetnUniformuiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateNamedFramebufferData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateNamedFramebufferSubData :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBuffer :: MonadIO m => GLuint -> GLenum -> m (Ptr a)

-- | Manual page for <a>OpenGL 4.x</a>.
glMapNamedBufferRange :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrierByRegion :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 4.x</a>.
glNamedBufferData :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferDrawBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferReadBuffer :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferRenderbuffer :: MonadIO m => GLuint -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTexture :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedFramebufferTextureLayer :: MonadIO m => GLuint -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorage :: MonadIO m => GLuint -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glNamedRenderbufferStorageMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReadnPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBarrier :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBuffer :: MonadIO m => GLuint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureBufferRange :: MonadIO m => GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage1D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage2DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3D :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureStorage3DMultisample :: MonadIO m => GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage1D :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage2D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureSubImage3D :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferBase :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTransformFeedbackBufferRange :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glUnmapNamedBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribIFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayAttribLFormat :: MonadIO m => GLuint -> GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayBindingDivisor :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayElementBuffer :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexArrayVertexBuffers :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()


module Graphics.GL.Compatibility44

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. 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 <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersBase :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindBuffersRange :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindSamplers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTextures :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffers :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBufferStorage :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexImage :: MonadIO m => GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()


module Graphics.GL.Compatibility43

-- | A pointer to a debug callback.
type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc

-- | Debug callback.
type GLDEBUGPROCFunc = -- | @source@. GLenum -> -- | @type@. GLenum -> -- | @id@. GLuint -> -- | @severity@. GLenum -> -- | @length@. GLsizei -> -- | @message@. Ptr GLchar -> -- | @userParam@. 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 <a>FunPtr</a> has to be
--   released with <a>freeHaskellFunPtr</a> 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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindVertexBuffer :: MonadIO m => GLuint -> GLuint -> GLintptr -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferData :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glCopyImageSubData :: MonadIO m => GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageCallback :: MonadIO m => GLDEBUGPROC -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageControl :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDebugMessageInsert :: MonadIO m => GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchCompute :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDispatchComputeIndirect :: MonadIO m => GLintptr -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glFramebufferParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDebugMessageLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFramebufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformati64v :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramInterfaceiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceLocationIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramResourceiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferData :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateSubFramebuffer :: MonadIO m => GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexImage :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glInvalidateTexSubImage :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMultiDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectLabel :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glObjectPtrLabel :: MonadIO m => Ptr a -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPopDebugGroup :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPushDebugGroup :: MonadIO m => GLenum -> GLuint -> GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderStorageBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexBufferRange :: MonadIO m => GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTextureView :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribBinding :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribIFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLFormat :: MonadIO m => GLuint -> GLint -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindImageTexture :: MonadIO m => GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysInstancedBaseInstance :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertexBaseInstance :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackInstanced :: MonadIO m => GLenum -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStreamInstanced :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveAtomicCounterBufferiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetInternalformativ :: MonadIO m => GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMemoryBarrier :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage1D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage2D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glTexStorage3D :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glActiveShaderProgram :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glClearDepthf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glCreateShaderProgramv :: MonadIO m => GLenum -> GLsizei -> Ptr (Ptr GLchar) -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangeIndexed :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDepthRangef :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGenProgramPipelines :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetDoublei_v :: MonadIO m => GLenum -> GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual page for <a>OpenGL 4.x</a>.
glGetFloati_v :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramBinary :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramPipelineiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetShaderPrecisionFormat :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetVertexAttribLdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsProgramPipeline :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramBinary :: MonadIO m => GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform1f :: MonadIO m => GLuint -> GLint -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform1ui :: MonadIO m => GLuint -> GLint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform2f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform2ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform3f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform3ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
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 <a>OpenGL 4.x</a>.
glProgramUniform4f :: MonadIO m => GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4iv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4ui :: MonadIO m => GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniform4uiv :: MonadIO m => GLuint -> GLint -> GLsizei -> Ptr GLuint -> m ()
glProgramUniformMatrix2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix2x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix2x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix3x4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix3x4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x2dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x2fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glProgramUniformMatrix4x3dv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glProgramUniformMatrix4x3fv :: MonadIO m => GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glReleaseShaderCompiler :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexed :: MonadIO m => GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glScissorIndexedv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glShaderBinary :: MonadIO m => GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUseProgramStages :: MonadIO m => GLuint -> GLbitfield -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glValidateProgramPipeline :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribL4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glVertexAttribLPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportArrayv :: MonadIO m => GLuint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedf :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glViewportIndexedfv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBeginQueryIndexed :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBindTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendEquationi :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFuncSeparatei :: MonadIO m => GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glBlendFunci :: MonadIO m => GLuint -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDeleteTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawArraysIndirect :: MonadIO m => GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawElementsIndirect :: MonadIO m => GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedback :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glDrawTransformFeedbackStream :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glEndQueryIndexed :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGenTransformFeedbacks :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformName :: MonadIO m => GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetActiveSubroutineUniformiv :: MonadIO m => GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetProgramStageiv :: MonadIO m => GLuint -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetQueryIndexediv :: MonadIO m => GLenum -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineIndex :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLuint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetSubroutineUniformLocation :: MonadIO m => GLuint -> GLenum -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformSubroutineuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glGetUniformdv :: MonadIO m => GLuint -> GLint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 4.x</a>.
glIsTransformFeedback :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glMinSampleShading :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPatchParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glPauseTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glResumeTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glUniform1d :: MonadIO m => GLint -> GLdouble -> m ()
glUniform1dv :: MonadIO m => GLint -> GLsizei -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
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 <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()
glUniformMatrix2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix2x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix3x4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x2dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()
glUniformMatrix4x3dv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 4.x</a>.
glUniformSubroutinesuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocationIndexed :: MonadIO m => GLuint -> GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindSampler :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenSamplers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjecti64v :: MonadIO m => GLuint -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetQueryObjectui64v :: MonadIO m => GLuint -> GLenum -> Ptr GLuint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSampler :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()
glNormalP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glNormalP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glQueryCounter :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterf :: MonadIO m => GLuint -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameterfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteri :: MonadIO m => GLuint -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSamplerParameteriv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()
glSecondaryColorP3ui :: MonadIO m => GLenum -> GLuint -> m ()
glSecondaryColorP3uiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribDivisor :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP1ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP1uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP2ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP2uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP3ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP3uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribP4ui :: MonadIO m => GLuint -> GLenum -> GLboolean -> GLuint -> m ()
glVertexAttribP4uiv :: MonadIO m => GLuint -> GLenum -> GLboolean -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClientWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m GLenum

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteSync :: MonadIO m => GLsync -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstancedBaseVertex :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawRangeElementsBaseVertex :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFenceSync :: MonadIO m => GLenum -> GLbitfield -> m GLsync

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBufferParameteri64v :: MonadIO m => GLenum -> GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64i_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetInteger64v :: MonadIO m => GLenum -> Ptr GLint64 -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetMultisamplefv :: MonadIO m => GLenum -> GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetSynciv :: MonadIO m => GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsSync :: MonadIO m => GLsync -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMultiDrawElementsBaseVertex :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glProvokingVertex :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glSampleMaski :: MonadIO m => GLuint -> GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage2DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexImage3DMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glWaitSync :: MonadIO m => GLsync -> GLbitfield -> GLuint64 -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCopyBufferSubData :: MonadIO m => GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawArraysInstanced :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDrawElementsInstanced :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformBlockiv :: MonadIO m => GLuint -> GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformName :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetActiveUniformsiv :: MonadIO m => GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformBlockIndex :: MonadIO m => GLuint -> Ptr GLchar -> m GLuint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformIndices :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glPrimitiveRestartIndex :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexBuffer :: MonadIO m => GLenum -> GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniformBlockBinding :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginConditionalRender :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBeginTransformFeedback :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferBase :: MonadIO m => GLenum -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindBufferRange :: MonadIO m => GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFragDataLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindFramebuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindRenderbuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBindVertexArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glBlitFramebuffer :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glCheckFramebufferStatus :: MonadIO m => GLenum -> m GLenum

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClampColor :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfi :: MonadIO m => GLenum -> GLint -> GLfloat -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferfv :: MonadIO m => GLenum -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferiv :: MonadIO m => GLenum -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glClearBufferuiv :: MonadIO m => GLenum -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glColorMaski :: MonadIO m => GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDeleteVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glDisablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEnablei :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndConditionalRender :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glEndTransformFeedback :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFlushMappedBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferRenderbuffer :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture1D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture2D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTexture3D :: MonadIO m => GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glFramebufferTextureLayer :: MonadIO m => GLenum -> GLenum -> GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenFramebuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenRenderbuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenVertexArrays :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGenerateMipmap :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetBooleani_v :: MonadIO m => GLenum -> GLuint -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFragDataLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetFramebufferAttachmentParameteriv :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetIntegeri_v :: MonadIO m => GLenum -> GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetRenderbufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetStringi :: MonadIO m => GLenum -> GLuint -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetTransformFeedbackVarying :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetUniformuiv :: MonadIO m => GLuint -> GLint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glGetVertexAttribIuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsEnabledi :: MonadIO m => GLenum -> GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsFramebuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsRenderbuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glIsVertexArray :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glMapBufferRange :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorage :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glRenderbufferStorageMultisample :: MonadIO m => GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTexParameterIuiv :: MonadIO m => GLenum -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glTransformFeedbackVaryings :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1ui :: MonadIO m => GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform1uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2ui :: MonadIO m => GLint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform2uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform3uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4ui :: MonadIO m => GLint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glUniform4uiv :: MonadIO m => GLint -> GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1iv</a>.
glVertexAttribI1i :: MonadIO m => GLuint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI1uiv</a>.
glVertexAttribI1ui :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI1uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2iv</a>.
glVertexAttribI2i :: MonadIO m => GLuint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI2uiv</a>.
glVertexAttribI2ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI2uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3iv</a>.
glVertexAttribI3i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI3uiv</a>.
glVertexAttribI3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI3uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4iv</a>.
glVertexAttribI4i :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>. The vector
--   equivalent of this command is <a>glVertexAttribI4uiv</a>.
glVertexAttribI4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribI4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 3.x</a> or <a>OpenGL 4.x</a>.
glVertexAttribIPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()


module Graphics.GL.ARB.HalfFloatVertex

-- | Is the <a>ARB_half_float_vertex</a> extension supported?
glGetARBHalfFloatVertex :: MonadIO m => m Bool

-- | Is the <a>ARB_half_float_vertex</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBHalfFloatVertex</a> 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 <a>ARB_half_float_pixel</a> extension supported?
glGetARBHalfFloatPixel :: MonadIO m => m Bool

-- | Is the <a>ARB_half_float_pixel</a> extension supported? Note that in
--   the presence of multiple contexts with different capabilities, this
--   might be wrong. Use <a>glGetARBHalfFloatPixel</a> 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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
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 <a>OpenGL 2.x</a>.
glAccum :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAlphaFunc :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glAreTexturesResident :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLboolean -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glArrayElement :: MonadIO m => GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glAttachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBegin :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBeginQuery :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindAttribLocation :: MonadIO m => GLuint -> GLuint -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindBuffer :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBindTexture :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glBitmap :: MonadIO m => GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquation :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendEquationSeparate :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFunc :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBlendFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferData :: MonadIO m => GLenum -> GLsizeiptr -> Ptr a -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallList :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCallLists :: MonadIO m => GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClear :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearAccum :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearColor :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearDepth :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClearIndex :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glClearStencil :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClientActiveTexture :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3bv</a>.
glColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3dv</a>.
glColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3fv</a>.
glColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3iv</a>.
glColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3sv</a>.
glColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3ubv</a>.
glColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3uiv</a>.
glColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor3usv</a>.
glColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4bv</a>.
glColor4b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4dv</a>.
glColor4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4fv</a>.
glColor4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4iv</a>.
glColor4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4sv</a>.
glColor4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4ubv</a>.
glColor4ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4uiv</a>.
glColor4ui :: MonadIO m => GLuint -> GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glColor4usv</a>.
glColor4us :: MonadIO m => GLushort -> GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColor4usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glColorMask :: MonadIO m => GLboolean -> GLboolean -> GLboolean -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorMaterial :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompileShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexImage3D :: MonadIO m => GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCompressedTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glCopyPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage1D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexImage2D :: MonadIO m => GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCopyTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateProgram :: MonadIO m => m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCreateShader :: MonadIO m => GLenum -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glCullFace :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDeleteLists :: MonadIO m => GLuint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteShader :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDeleteTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthFunc :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthMask :: MonadIO m => GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDepthRange :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDetachShader :: MonadIO m => GLuint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDisableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDisableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawArrays :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawBuffers :: MonadIO m => GLsizei -> Ptr GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawElements :: MonadIO m => GLenum -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glDrawPixels :: MonadIO m => GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glDrawRangeElements :: MonadIO m => GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEdgeFlagv</a>.
glEdgeFlag :: MonadIO m => GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagPointer :: MonadIO m => GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEdgeFlagv :: MonadIO m => Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnable :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnableClientState :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEnableVertexAttribArray :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEnd :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEndList :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glEndQuery :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1dv</a>.
glEvalCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord1fv</a>.
glEvalCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2dv</a>.
glEvalCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glEvalCoord2fv</a>.
glEvalCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh1 :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalMesh2 :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint1 :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glEvalPoint2 :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFeedbackBuffer :: MonadIO m => GLsizei -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFinish :: MonadIO m => m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFlush :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoorddv</a>.
glFogCoordd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoorddv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glFogCoordfv</a>.
glFogCoordf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogCoordfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFogiv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glFrontFace :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glFrustum :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenBuffers :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGenLists :: MonadIO m => GLsizei -> m GLuint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenQueries :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGenTextures :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveAttrib :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetActiveUniform :: MonadIO m => GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttachedShaders :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetAttribLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBooleanv :: MonadIO m => GLenum -> Ptr GLboolean -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferPointerv :: MonadIO m => GLenum -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetBufferSubData :: MonadIO m => GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetClipPlane :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetCompressedTexImage :: MonadIO m => GLenum -> GLint -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetDoublev :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetError :: MonadIO m => m GLenum

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetFloatv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetIntegerv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapdv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMapiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapuiv :: MonadIO m => GLenum -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPixelMapusv :: MonadIO m => GLenum -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 4.x</a>.
glGetPointerv :: MonadIO m => GLenum -> Ptr (Ptr a) -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetProgramiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryObjectuiv :: MonadIO m => GLuint -> GLenum -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetQueryiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderInfoLog :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetShaderiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glGetTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexImage :: MonadIO m => GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameterfv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexLevelParameteriv :: MonadIO m => GLenum -> GLint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformLocation :: MonadIO m => GLuint -> Ptr GLchar -> m GLint

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformfv :: MonadIO m => GLuint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetUniformiv :: MonadIO m => GLuint -> GLint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribPointerv :: MonadIO m => GLuint -> GLenum -> Ptr (Ptr a) -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribdv :: MonadIO m => GLuint -> GLenum -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribfv :: MonadIO m => GLuint -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glGetVertexAttribiv :: MonadIO m => GLuint -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glHint :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexMask :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexdv</a>.
glIndexd :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexdv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexfv</a>.
glIndexf :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexfv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexiv</a>.
glIndexi :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexiv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexsv</a>.
glIndexs :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexsv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glIndexubv</a>.
glIndexub :: MonadIO m => GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glIndexubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInitNames :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glInterleavedArrays :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsBuffer :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsEnabled :: MonadIO m => GLenum -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glIsList :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsProgram :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsQuery :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsShader :: MonadIO m => GLuint -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glIsTexture :: MonadIO m => GLuint -> m GLboolean

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModelfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeli :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightModeliv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLighti :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLightiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLineStipple :: MonadIO m => GLint -> GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLineWidth :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLinkProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glListBase :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadIdentity :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glLoadTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glLogicOp :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap1f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMap2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMapBuffer :: MonadIO m => GLenum -> GLenum -> m (Ptr a)

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1d :: MonadIO m => GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid1f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2d :: MonadIO m => GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMapGrid2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMateriali :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMaterialiv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMatrixMode :: MonadIO m => GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixd :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultTransposeMatrixf :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawArrays :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glMultiDrawElements :: MonadIO m => GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1dv</a>.
glMultiTexCoord1d :: MonadIO m => GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1fv</a>.
glMultiTexCoord1f :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1iv</a>.
glMultiTexCoord1i :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord1sv</a>.
glMultiTexCoord1s :: MonadIO m => GLenum -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord1sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2dv</a>.
glMultiTexCoord2d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2fv</a>.
glMultiTexCoord2f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2iv</a>.
glMultiTexCoord2i :: MonadIO m => GLenum -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord2sv</a>.
glMultiTexCoord2s :: MonadIO m => GLenum -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord2sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3dv</a>.
glMultiTexCoord3d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3fv</a>.
glMultiTexCoord3f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3iv</a>.
glMultiTexCoord3i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord3sv</a>.
glMultiTexCoord3s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord3sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4dv</a>.
glMultiTexCoord4d :: MonadIO m => GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4dv :: MonadIO m => GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4fv</a>.
glMultiTexCoord4f :: MonadIO m => GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4fv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4iv</a>.
glMultiTexCoord4i :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4iv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glMultiTexCoord4sv</a>.
glMultiTexCoord4s :: MonadIO m => GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glMultiTexCoord4sv :: MonadIO m => GLenum -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNewList :: MonadIO m => GLuint -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3bv</a>.
glNormal3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3dv</a>.
glNormal3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3fv</a>.
glNormal3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3iv</a>.
glNormal3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glNormal3sv</a>.
glNormal3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormal3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glNormalPointer :: MonadIO m => GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glOrtho :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPassThrough :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapfv :: MonadIO m => GLenum -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapuiv :: MonadIO m => GLenum -> GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelMapusv :: MonadIO m => GLenum -> GLsizei -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStoref :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPixelStorei :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelTransferi :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPixelZoom :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterf :: MonadIO m => GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameterfv :: MonadIO m => GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteri :: MonadIO m => GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointParameteriv :: MonadIO m => GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPointSize :: MonadIO m => GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonMode :: MonadIO m => GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glPolygonOffset :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPolygonStipple :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopClientAttrib :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPopName :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPrioritizeTextures :: MonadIO m => GLsizei -> Ptr GLuint -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushClientAttrib :: MonadIO m => GLbitfield -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushMatrix :: MonadIO m => m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glPushName :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2dv</a>.
glRasterPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2fv</a>.
glRasterPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2iv</a>.
glRasterPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos2sv</a>.
glRasterPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3dv</a>.
glRasterPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3fv</a>.
glRasterPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3iv</a>.
glRasterPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos3sv</a>.
glRasterPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4dv</a>.
glRasterPos4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4fv</a>.
glRasterPos4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4iv</a>.
glRasterPos4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRasterPos4sv</a>.
glRasterPos4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRasterPos4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadBuffer :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glReadPixels :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectdv</a>.
glRectd :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectdv :: MonadIO m => Ptr GLdouble -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectfv</a>.
glRectf :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectfv :: MonadIO m => Ptr GLfloat -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectiv</a>.
glRecti :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectiv :: MonadIO m => Ptr GLint -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glRectsv</a>.
glRects :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRectsv :: MonadIO m => Ptr GLshort -> Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRenderMode :: MonadIO m => GLenum -> m GLint

-- | Manual page for <a>OpenGL 2.x</a>.
glRotated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glRotatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glSampleCoverage :: MonadIO m => GLfloat -> GLboolean -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScaled :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glScalef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glScissor :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3bv</a>.
glSecondaryColor3b :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3bv :: MonadIO m => Ptr GLbyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3dv</a>.
glSecondaryColor3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3fv</a>.
glSecondaryColor3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3iv</a>.
glSecondaryColor3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3sv</a>.
glSecondaryColor3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3ubv</a>.
glSecondaryColor3ub :: MonadIO m => GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3ubv :: MonadIO m => Ptr GLubyte -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3uiv</a>.
glSecondaryColor3ui :: MonadIO m => GLuint -> GLuint -> GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3uiv :: MonadIO m => Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glSecondaryColor3usv</a>.
glSecondaryColor3us :: MonadIO m => GLushort -> GLushort -> GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColor3usv :: MonadIO m => Ptr GLushort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSecondaryColorPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glSelectBuffer :: MonadIO m => GLsizei -> Ptr GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glShadeModel :: MonadIO m => GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glShaderSource :: MonadIO m => GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFunc :: MonadIO m => GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilFuncSeparate :: MonadIO m => GLenum -> GLenum -> GLint -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMask :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilMaskSeparate :: MonadIO m => GLenum -> GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOp :: MonadIO m => GLenum -> GLenum -> GLenum -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glStencilOpSeparate :: MonadIO m => GLenum -> GLenum -> GLenum -> GLenum -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1dv</a>.
glTexCoord1d :: MonadIO m => GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1fv</a>.
glTexCoord1f :: MonadIO m => GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1iv</a>.
glTexCoord1i :: MonadIO m => GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord1sv</a>.
glTexCoord1s :: MonadIO m => GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord1sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2dv</a>.
glTexCoord2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2fv</a>.
glTexCoord2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2iv</a>.
glTexCoord2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord2sv</a>.
glTexCoord2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3dv</a>.
glTexCoord3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3fv</a>.
glTexCoord3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3iv</a>.
glTexCoord3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord3sv</a>.
glTexCoord3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4dv</a>.
glTexCoord4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <tt>glTexCoord4fv</tt>.
glTexCoord4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4iv</a>.
glTexCoord4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glTexCoord4sv</a>.
glTexCoord4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoord4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexCoordPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnvi :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexEnviv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGend :: MonadIO m => GLenum -> GLenum -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGendv :: MonadIO m => GLenum -> GLenum -> Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGenfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeni :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTexGeniv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterf :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameterfv :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteri :: MonadIO m => GLenum -> GLenum -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexParameteriv :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage1D :: MonadIO m => GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage2D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glTexSubImage3D :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslated :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glTranslatef :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1f :: MonadIO m => GLint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform1iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2f :: MonadIO m => GLint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform2iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform3iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4f :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4fv :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniform4iv :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix2x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix3x4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x2fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUniformMatrix4x3fv :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUnmapBuffer :: MonadIO m => GLenum -> m GLboolean

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glUseProgram :: MonadIO m => GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glValidateProgram :: MonadIO m => GLuint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2dv</a>.
glVertex2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2fv</a>.
glVertex2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2iv</a>.
glVertex2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex2sv</a>.
glVertex2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3dv</a>.
glVertex3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3fv</a>.
glVertex3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3iv</a>.
glVertex3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex3sv</a>.
glVertex3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex3sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4dv</a>.
glVertex4d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4fv</a>.
glVertex4f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4iv</a>.
glVertex4i :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glVertex4sv</a>.
glVertex4s :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertex4sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1dv</a>.
glVertexAttrib1d :: MonadIO m => GLuint -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1fv</a>.
glVertexAttrib1f :: MonadIO m => GLuint -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib1sv</a>.
glVertexAttrib1s :: MonadIO m => GLuint -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib1sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2dv</a>.
glVertexAttrib2d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2fv</a>.
glVertexAttrib2f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib2sv</a>.
glVertexAttrib2s :: MonadIO m => GLuint -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib2sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3dv</a>.
glVertexAttrib3d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3fv</a>.
glVertexAttrib3f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib3sv</a>.
glVertexAttrib3s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib3sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nbv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Niv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nsv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nub :: MonadIO m => GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nuiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4Nusv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4bv :: MonadIO m => GLuint -> Ptr GLbyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4dv</a>.
glVertexAttrib4d :: MonadIO m => GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4dv :: MonadIO m => GLuint -> Ptr GLdouble -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4fv</a>.
glVertexAttrib4f :: MonadIO m => GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4fv :: MonadIO m => GLuint -> Ptr GLfloat -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4iv :: MonadIO m => GLuint -> Ptr GLint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>. The vector equivalent of this command is
--   <a>glVertexAttrib4sv</a>.
glVertexAttrib4s :: MonadIO m => GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4sv :: MonadIO m => GLuint -> Ptr GLshort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4ubv :: MonadIO m => GLuint -> Ptr GLubyte -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4uiv :: MonadIO m => GLuint -> Ptr GLuint -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttrib4usv :: MonadIO m => GLuint -> Ptr GLushort -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glVertexAttribPointer :: MonadIO m => GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glVertexPointer :: MonadIO m => GLint -> GLenum -> GLsizei -> Ptr a -> m ()

-- | Manual pages for <a>OpenGL 2.x</a> or <a>OpenGL 3.x</a> or <a>OpenGL
--   4.x</a>.
glViewport :: MonadIO m => GLint -> GLint -> GLsizei -> GLsizei -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2dv</a>.
glWindowPos2d :: MonadIO m => GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2fv</a>.
glWindowPos2f :: MonadIO m => GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2iv</a>.
glWindowPos2i :: MonadIO m => GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos2sv</a>.
glWindowPos2s :: MonadIO m => GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos2sv :: MonadIO m => Ptr GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3dv</a>.
glWindowPos3d :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3dv :: MonadIO m => Ptr GLdouble -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3fv</a>.
glWindowPos3f :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3fv :: MonadIO m => Ptr GLfloat -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3iv</a>.
glWindowPos3i :: MonadIO m => GLint -> GLint -> GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3iv :: MonadIO m => Ptr GLint -> m ()

-- | Manual page for <a>OpenGL 2.x</a>. The vector equivalent of this
--   command is <a>glWindowPos3sv</a>.
glWindowPos3s :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()

-- | Manual page for <a>OpenGL 2.x</a>.
glWindowPos3sv :: MonadIO m => Ptr GLshort -> m ()


module Graphics.GL.WIN.PhongShading

-- | Is the <a>WIN_phong_shading</a> extension supported?
glGetWINPhongShading :: MonadIO m => m Bool

-- | Is the <a>WIN_phong_shading</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetWINPhongShading</a> 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 <a>WIN_specular_fog</a> extension supported?
glGetWINSpecularFog :: MonadIO m => m Bool

-- | Is the <a>WIN_specular_fog</a> extension supported? Note that in the
--   presence of multiple contexts with different capabilities, this might
--   be wrong. Use <a>glGetWINSpecularFog</a> 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
