'''OpenGL extension VERSION.GL_2_0

The official definition of this extension is available here:
	http://oss.sgi.com/projects/ogl-sample/registry/VERSION/GL_2_0.txt

Automatically generated by the get_gl_extensions script, do not edit!
'''
from OpenGL import platform, constants, constant, arrays
from OpenGL import extensions
from OpenGL.GL import glget
import ctypes
GL_VERTEX_ATTRIB_ARRAY_ENABLED = constant.Constant( 'GL_VERTEX_ATTRIB_ARRAY_ENABLED', 0x8622 )
GL_VERTEX_ATTRIB_ARRAY_SIZE = constant.Constant( 'GL_VERTEX_ATTRIB_ARRAY_SIZE', 0x8623 )
GL_VERTEX_ATTRIB_ARRAY_STRIDE = constant.Constant( 'GL_VERTEX_ATTRIB_ARRAY_STRIDE', 0x8624 )
GL_VERTEX_ATTRIB_ARRAY_TYPE = constant.Constant( 'GL_VERTEX_ATTRIB_ARRAY_TYPE', 0x8625 )
GL_CURRENT_VERTEX_ATTRIB = constant.Constant( 'GL_CURRENT_VERTEX_ATTRIB', 0x8626 )
GL_VERTEX_PROGRAM_POINT_SIZE = constant.Constant( 'GL_VERTEX_PROGRAM_POINT_SIZE', 0x8642 )
GL_VERTEX_PROGRAM_TWO_SIDE = constant.Constant( 'GL_VERTEX_PROGRAM_TWO_SIDE', 0x8643 )
GL_VERTEX_ATTRIB_ARRAY_POINTER = constant.Constant( 'GL_VERTEX_ATTRIB_ARRAY_POINTER', 0x8645 )
GL_STENCIL_BACK_FUNC = constant.Constant( 'GL_STENCIL_BACK_FUNC', 0x8800 )
GL_STENCIL_BACK_FAIL = constant.Constant( 'GL_STENCIL_BACK_FAIL', 0x8801 )
GL_STENCIL_BACK_PASS_DEPTH_FAIL = constant.Constant( 'GL_STENCIL_BACK_PASS_DEPTH_FAIL', 0x8802 )
GL_STENCIL_BACK_PASS_DEPTH_PASS = constant.Constant( 'GL_STENCIL_BACK_PASS_DEPTH_PASS', 0x8803 )
GL_MAX_DRAW_BUFFERS = constant.Constant( 'GL_MAX_DRAW_BUFFERS', 0x8824 )
GL_DRAW_BUFFER0 = constant.Constant( 'GL_DRAW_BUFFER0', 0x8825 )
GL_DRAW_BUFFER1 = constant.Constant( 'GL_DRAW_BUFFER1', 0x8826 )
GL_DRAW_BUFFER2 = constant.Constant( 'GL_DRAW_BUFFER2', 0x8827 )
GL_DRAW_BUFFER3 = constant.Constant( 'GL_DRAW_BUFFER3', 0x8828 )
GL_DRAW_BUFFER4 = constant.Constant( 'GL_DRAW_BUFFER4', 0x8829 )
GL_DRAW_BUFFER5 = constant.Constant( 'GL_DRAW_BUFFER5', 0x882A )
GL_DRAW_BUFFER6 = constant.Constant( 'GL_DRAW_BUFFER6', 0x882B )
GL_DRAW_BUFFER7 = constant.Constant( 'GL_DRAW_BUFFER7', 0x882C )
GL_DRAW_BUFFER8 = constant.Constant( 'GL_DRAW_BUFFER8', 0x882D )
GL_DRAW_BUFFER9 = constant.Constant( 'GL_DRAW_BUFFER9', 0x882E )
GL_DRAW_BUFFER10 = constant.Constant( 'GL_DRAW_BUFFER10', 0x882F )
GL_DRAW_BUFFER11 = constant.Constant( 'GL_DRAW_BUFFER11', 0x8830 )
GL_DRAW_BUFFER12 = constant.Constant( 'GL_DRAW_BUFFER12', 0x8831 )
GL_DRAW_BUFFER13 = constant.Constant( 'GL_DRAW_BUFFER13', 0x8832 )
GL_DRAW_BUFFER14 = constant.Constant( 'GL_DRAW_BUFFER14', 0x8833 )
GL_DRAW_BUFFER15 = constant.Constant( 'GL_DRAW_BUFFER15', 0x8834 )
GL_BLEND_EQUATION_ALPHA = constant.Constant( 'GL_BLEND_EQUATION_ALPHA', 0x883D )
GL_POINT_SPRITE = constant.Constant( 'GL_POINT_SPRITE', 0x8861 )
GL_COORD_REPLACE = constant.Constant( 'GL_COORD_REPLACE', 0x8862 )
GL_MAX_VERTEX_ATTRIBS = constant.Constant( 'GL_MAX_VERTEX_ATTRIBS', 0x8869 )
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = constant.Constant( 'GL_VERTEX_ATTRIB_ARRAY_NORMALIZED', 0x886A )
GL_MAX_TEXTURE_COORDS = constant.Constant( 'GL_MAX_TEXTURE_COORDS', 0x8871 )
GL_MAX_TEXTURE_IMAGE_UNITS = constant.Constant( 'GL_MAX_TEXTURE_IMAGE_UNITS', 0x8872 )
GL_FRAGMENT_SHADER = constant.Constant( 'GL_FRAGMENT_SHADER', 0x8B30 )
GL_VERTEX_SHADER = constant.Constant( 'GL_VERTEX_SHADER', 0x8B31 )
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = constant.Constant( 'GL_MAX_FRAGMENT_UNIFORM_COMPONENTS', 0x8B49 )
GL_MAX_VERTEX_UNIFORM_COMPONENTS = constant.Constant( 'GL_MAX_VERTEX_UNIFORM_COMPONENTS', 0x8B4A )
GL_MAX_VARYING_FLOATS = constant.Constant( 'GL_MAX_VARYING_FLOATS', 0x8B4B )
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = constant.Constant( 'GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS', 0x8B4C )
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = constant.Constant( 'GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS', 0x8B4D )
GL_SHADER_TYPE = constant.Constant( 'GL_SHADER_TYPE', 0x8B4F )
GL_FLOAT_VEC2 = constant.Constant( 'GL_FLOAT_VEC2', 0x8B50 )
GL_FLOAT_VEC3 = constant.Constant( 'GL_FLOAT_VEC3', 0x8B51 )
GL_FLOAT_VEC4 = constant.Constant( 'GL_FLOAT_VEC4', 0x8B52 )
GL_INT_VEC2 = constant.Constant( 'GL_INT_VEC2', 0x8B53 )
GL_INT_VEC3 = constant.Constant( 'GL_INT_VEC3', 0x8B54 )
GL_INT_VEC4 = constant.Constant( 'GL_INT_VEC4', 0x8B55 )
GL_BOOL = constant.Constant( 'GL_BOOL', 0x8B56 )
GL_BOOL_VEC2 = constant.Constant( 'GL_BOOL_VEC2', 0x8B57 )
GL_BOOL_VEC3 = constant.Constant( 'GL_BOOL_VEC3', 0x8B58 )
GL_BOOL_VEC4 = constant.Constant( 'GL_BOOL_VEC4', 0x8B59 )
GL_FLOAT_MAT2 = constant.Constant( 'GL_FLOAT_MAT2', 0x8B5A )
GL_FLOAT_MAT3 = constant.Constant( 'GL_FLOAT_MAT3', 0x8B5B )
GL_FLOAT_MAT4 = constant.Constant( 'GL_FLOAT_MAT4', 0x8B5C )
GL_SAMPLER_1D = constant.Constant( 'GL_SAMPLER_1D', 0x8B5D )
GL_SAMPLER_2D = constant.Constant( 'GL_SAMPLER_2D', 0x8B5E )
GL_SAMPLER_3D = constant.Constant( 'GL_SAMPLER_3D', 0x8B5F )
GL_SAMPLER_CUBE = constant.Constant( 'GL_SAMPLER_CUBE', 0x8B60 )
GL_SAMPLER_1D_SHADOW = constant.Constant( 'GL_SAMPLER_1D_SHADOW', 0x8B61 )
GL_SAMPLER_2D_SHADOW = constant.Constant( 'GL_SAMPLER_2D_SHADOW', 0x8B62 )
GL_DELETE_STATUS = constant.Constant( 'GL_DELETE_STATUS', 0x8B80 )
GL_COMPILE_STATUS = constant.Constant( 'GL_COMPILE_STATUS', 0x8B81 )
GL_LINK_STATUS = constant.Constant( 'GL_LINK_STATUS', 0x8B82 )
GL_VALIDATE_STATUS = constant.Constant( 'GL_VALIDATE_STATUS', 0x8B83 )
GL_INFO_LOG_LENGTH = constant.Constant( 'GL_INFO_LOG_LENGTH', 0x8B84 )
GL_ATTACHED_SHADERS = constant.Constant( 'GL_ATTACHED_SHADERS', 0x8B85 )
GL_ACTIVE_UNIFORMS = constant.Constant( 'GL_ACTIVE_UNIFORMS', 0x8B86 )
GL_ACTIVE_UNIFORM_MAX_LENGTH = constant.Constant( 'GL_ACTIVE_UNIFORM_MAX_LENGTH', 0x8B87 )
GL_SHADER_SOURCE_LENGTH = constant.Constant( 'GL_SHADER_SOURCE_LENGTH', 0x8B88 )
GL_ACTIVE_ATTRIBUTES = constant.Constant( 'GL_ACTIVE_ATTRIBUTES', 0x8B89 )
GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = constant.Constant( 'GL_ACTIVE_ATTRIBUTE_MAX_LENGTH', 0x8B8A )
GL_FRAGMENT_SHADER_DERIVATIVE_HINT = constant.Constant( 'GL_FRAGMENT_SHADER_DERIVATIVE_HINT', 0x8B8B )
GL_SHADING_LANGUAGE_VERSION = constant.Constant( 'GL_SHADING_LANGUAGE_VERSION', 0x8B8C )
GL_CURRENT_PROGRAM = constant.Constant( 'GL_CURRENT_PROGRAM', 0x8B8D )
GL_POINT_SPRITE_COORD_ORIGIN = constant.Constant( 'GL_POINT_SPRITE_COORD_ORIGIN', 0x8CA0 )
GL_LOWER_LEFT = constant.Constant( 'GL_LOWER_LEFT', 0x8CA1 )
GL_UPPER_LEFT = constant.Constant( 'GL_UPPER_LEFT', 0x8CA2 )
GL_STENCIL_BACK_REF = constant.Constant( 'GL_STENCIL_BACK_REF', 0x8CA3 )
GL_STENCIL_BACK_VALUE_MASK = constant.Constant( 'GL_STENCIL_BACK_VALUE_MASK', 0x8CA4 )
GL_STENCIL_BACK_WRITEMASK = constant.Constant( 'GL_STENCIL_BACK_WRITEMASK', 0x8CA5 )
glBlendEquationSeparate = platform.createExtensionFunction( 
	'glBlendEquationSeparate', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLenum,),
	doc = 'glBlendEquationSeparate( GLenum(modeRGB), GLenum(modeAlpha) ) -> None',
	argNames = ('modeRGB', 'modeAlpha',),
)

glDrawBuffers = platform.createExtensionFunction( 
	'glDrawBuffers', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLsizei, arrays.GLuintArray,),
	doc = 'glDrawBuffers( GLsizei(n), GLuintArray(bufs) ) -> None',
	argNames = ('n', 'bufs',),
)

glStencilOpSeparate = platform.createExtensionFunction( 
	'glStencilOpSeparate', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLenum, constants.GLenum, constants.GLenum,),
	doc = 'glStencilOpSeparate( GLenum(face), GLenum(sfail), GLenum(dpfail), GLenum(dppass) ) -> None',
	argNames = ('face', 'sfail', 'dpfail', 'dppass',),
)

glStencilFuncSeparate = platform.createExtensionFunction( 
	'glStencilFuncSeparate', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLenum, constants.GLint, constants.GLuint,),
	doc = 'glStencilFuncSeparate( GLenum(frontfunc), GLenum(backfunc), GLint(ref), GLuint(mask) ) -> None',
	argNames = ('frontfunc', 'backfunc', 'ref', 'mask',),
)

glStencilMaskSeparate = platform.createExtensionFunction( 
	'glStencilMaskSeparate', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLuint,),
	doc = 'glStencilMaskSeparate( GLenum(face), GLuint(mask) ) -> None',
	argNames = ('face', 'mask',),
)

glAttachShader = platform.createExtensionFunction( 
	'glAttachShader', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLuint,),
	doc = 'glAttachShader( GLuint(program), GLuint(shader) ) -> None',
	argNames = ('program', 'shader',),
)

glBindAttribLocation = platform.createExtensionFunction( 
	'glBindAttribLocation', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLuint, arrays.GLcharArray,),
	doc = 'glBindAttribLocation( GLuint(program), GLuint(index), GLcharArray(name) ) -> None',
	argNames = ('program', 'index', 'name',),
)

glCompileShader = platform.createExtensionFunction( 
	'glCompileShader', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint,),
	doc = 'glCompileShader( GLuint(shader) ) -> None',
	argNames = ('shader',),
)

glCreateProgram = platform.createExtensionFunction( 
	'glCreateProgram', dll=platform.GL,
	resultType=constants.GLuint, 
	argTypes=(),
	doc = 'glCreateProgram(  ) -> constants.GLuint',
	argNames = (),
)

glCreateShader = platform.createExtensionFunction( 
	'glCreateShader', dll=platform.GL,
	resultType=constants.GLuint, 
	argTypes=(constants.GLenum,),
	doc = 'glCreateShader( GLenum(type) ) -> constants.GLuint',
	argNames = ('type',),
)

glDeleteProgram = platform.createExtensionFunction( 
	'glDeleteProgram', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint,),
	doc = 'glDeleteProgram( GLuint(program) ) -> None',
	argNames = ('program',),
)

glDeleteShader = platform.createExtensionFunction( 
	'glDeleteShader', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint,),
	doc = 'glDeleteShader( GLuint(shader) ) -> None',
	argNames = ('shader',),
)

glDetachShader = platform.createExtensionFunction( 
	'glDetachShader', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLuint,),
	doc = 'glDetachShader( GLuint(program), GLuint(shader) ) -> None',
	argNames = ('program', 'shader',),
)

glDisableVertexAttribArray = platform.createExtensionFunction( 
	'glDisableVertexAttribArray', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint,),
	doc = 'glDisableVertexAttribArray( GLuint(index) ) -> None',
	argNames = ('index',),
)

glEnableVertexAttribArray = platform.createExtensionFunction( 
	'glEnableVertexAttribArray', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint,),
	doc = 'glEnableVertexAttribArray( GLuint(index) ) -> None',
	argNames = ('index',),
)

glGetActiveAttrib = platform.createExtensionFunction( 
	'glGetActiveAttrib', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLuint, constants.GLsizei, arrays.GLsizeiArray, arrays.GLintArray, arrays.GLuintArray, arrays.GLcharArray,),
	doc = 'glGetActiveAttrib( GLuint(program), GLuint(index), GLsizei(bufSize), GLsizeiArray(length), GLintArray(size), GLuintArray(type), GLcharArray(name) ) -> None',
	argNames = ('program', 'index', 'bufSize', 'length', 'size', 'type', 'name',),
)

glGetActiveUniform = platform.createExtensionFunction( 
	'glGetActiveUniform', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLuint, constants.GLsizei, arrays.GLsizeiArray, arrays.GLintArray, arrays.GLuintArray, arrays.GLcharArray,),
	doc = 'glGetActiveUniform( GLuint(program), GLuint(index), GLsizei(bufSize), GLsizeiArray(length), GLintArray(size), GLuintArray(type), GLcharArray(name) ) -> None',
	argNames = ('program', 'index', 'bufSize', 'length', 'size', 'type', 'name',),
)

glGetAttachedShaders = platform.createExtensionFunction( 
	'glGetAttachedShaders', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLsizei, arrays.GLsizeiArray, arrays.GLuintArray,),
	doc = 'glGetAttachedShaders( GLuint(program), GLsizei(maxCount), GLsizeiArray(count), GLuintArray(obj) ) -> None',
	argNames = ('program', 'maxCount', 'count', 'obj',),
)

glGetAttribLocation = platform.createExtensionFunction( 
	'glGetAttribLocation', dll=platform.GL,
	resultType=constants.GLint, 
	argTypes=(constants.GLuint, arrays.GLcharArray,),
	doc = 'glGetAttribLocation( GLuint(program), GLcharArray(name) ) -> constants.GLint',
	argNames = ('program', 'name',),
)

glGetProgramiv = platform.createExtensionFunction( 
	'glGetProgramiv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLenum, arrays.GLintArray,),
	doc = 'glGetProgramiv( GLuint(program), GLenum(pname), GLintArray(params) ) -> None',
	argNames = ('program', 'pname', 'params',),
)

glGetProgramInfoLog = platform.createExtensionFunction( 
	'glGetProgramInfoLog', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLsizei, arrays.GLsizeiArray, arrays.GLcharArray,),
	doc = 'glGetProgramInfoLog( GLuint(program), GLsizei(bufSize), GLsizeiArray(length), GLcharArray(infoLog) ) -> None',
	argNames = ('program', 'bufSize', 'length', 'infoLog',),
)

glGetShaderiv = platform.createExtensionFunction( 
	'glGetShaderiv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLenum, arrays.GLintArray,),
	doc = 'glGetShaderiv( GLuint(shader), GLenum(pname), GLintArray(params) ) -> None',
	argNames = ('shader', 'pname', 'params',),
)

glGetShaderInfoLog = platform.createExtensionFunction( 
	'glGetShaderInfoLog', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLsizei, arrays.GLsizeiArray, arrays.GLcharArray,),
	doc = 'glGetShaderInfoLog( GLuint(shader), GLsizei(bufSize), GLsizeiArray(length), GLcharArray(infoLog) ) -> None',
	argNames = ('shader', 'bufSize', 'length', 'infoLog',),
)

glGetShaderSource = platform.createExtensionFunction( 
	'glGetShaderSource', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLsizei, arrays.GLsizeiArray, arrays.GLcharArray,),
	doc = 'glGetShaderSource( GLuint(shader), GLsizei(bufSize), GLsizeiArray(length), GLcharArray(source) ) -> None',
	argNames = ('shader', 'bufSize', 'length', 'source',),
)

glGetUniformLocation = platform.createExtensionFunction( 
	'glGetUniformLocation', dll=platform.GL,
	resultType=constants.GLint, 
	argTypes=(constants.GLuint, arrays.GLcharArray,),
	doc = 'glGetUniformLocation( GLuint(program), GLcharArray(name) ) -> constants.GLint',
	argNames = ('program', 'name',),
)

glGetUniformfv = platform.createExtensionFunction( 
	'glGetUniformfv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLint, arrays.GLfloatArray,),
	doc = 'glGetUniformfv( GLuint(program), GLint(location), GLfloatArray(params) ) -> None',
	argNames = ('program', 'location', 'params',),
)

glGetUniformiv = platform.createExtensionFunction( 
	'glGetUniformiv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLint, arrays.GLintArray,),
	doc = 'glGetUniformiv( GLuint(program), GLint(location), GLintArray(params) ) -> None',
	argNames = ('program', 'location', 'params',),
)

glGetVertexAttribdv = platform.createExtensionFunction( 
	'glGetVertexAttribdv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLenum, arrays.GLdoubleArray,),
	doc = 'glGetVertexAttribdv( GLuint(index), GLenum(pname), GLdoubleArray(params) ) -> None',
	argNames = ('index', 'pname', 'params',),
)

glGetVertexAttribfv = platform.createExtensionFunction( 
	'glGetVertexAttribfv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLenum, arrays.GLfloatArray,),
	doc = 'glGetVertexAttribfv( GLuint(index), GLenum(pname), GLfloatArray(params) ) -> None',
	argNames = ('index', 'pname', 'params',),
)

glGetVertexAttribiv = platform.createExtensionFunction( 
	'glGetVertexAttribiv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLenum, arrays.GLintArray,),
	doc = 'glGetVertexAttribiv( GLuint(index), GLenum(pname), GLintArray(params) ) -> None',
	argNames = ('index', 'pname', 'params',),
)

glGetVertexAttribPointerv = platform.createExtensionFunction( 
	'glGetVertexAttribPointerv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLenum, ctypes.POINTER(ctypes.c_void_p),),
	doc = 'glGetVertexAttribPointerv( GLuint(index), GLenum(pname), POINTER(ctypes.c_void_p)(pointer) ) -> None',
	argNames = ('index', 'pname', 'pointer',),
)

glIsProgram = platform.createExtensionFunction( 
	'glIsProgram', dll=platform.GL,
	resultType=constants.GLboolean, 
	argTypes=(constants.GLuint,),
	doc = 'glIsProgram( GLuint(program) ) -> constants.GLboolean',
	argNames = ('program',),
)

glIsShader = platform.createExtensionFunction( 
	'glIsShader', dll=platform.GL,
	resultType=constants.GLboolean, 
	argTypes=(constants.GLuint,),
	doc = 'glIsShader( GLuint(shader) ) -> constants.GLboolean',
	argNames = ('shader',),
)

glLinkProgram = platform.createExtensionFunction( 
	'glLinkProgram', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint,),
	doc = 'glLinkProgram( GLuint(program) ) -> None',
	argNames = ('program',),
)

glShaderSource = platform.createExtensionFunction( 
	'glShaderSource', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLsizei, ctypes.POINTER(arrays.GLcharArray), arrays.GLintArray,),
	doc = 'glShaderSource( GLuint(shader), GLsizei(count), POINTER(arrays.GLcharArray)(string), GLintArray(length) ) -> None',
	argNames = ('shader', 'count', 'string', 'length',),
)

glUseProgram = platform.createExtensionFunction( 
	'glUseProgram', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint,),
	doc = 'glUseProgram( GLuint(program) ) -> None',
	argNames = ('program',),
)

glUniform1f = platform.createExtensionFunction( 
	'glUniform1f', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLfloat,),
	doc = 'glUniform1f( GLint(location), GLfloat(v0) ) -> None',
	argNames = ('location', 'v0',),
)

glUniform2f = platform.createExtensionFunction( 
	'glUniform2f', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLfloat, constants.GLfloat,),
	doc = 'glUniform2f( GLint(location), GLfloat(v0), GLfloat(v1) ) -> None',
	argNames = ('location', 'v0', 'v1',),
)

glUniform3f = platform.createExtensionFunction( 
	'glUniform3f', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLfloat, constants.GLfloat, constants.GLfloat,),
	doc = 'glUniform3f( GLint(location), GLfloat(v0), GLfloat(v1), GLfloat(v2) ) -> None',
	argNames = ('location', 'v0', 'v1', 'v2',),
)

glUniform4f = platform.createExtensionFunction( 
	'glUniform4f', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLfloat, constants.GLfloat, constants.GLfloat, constants.GLfloat,),
	doc = 'glUniform4f( GLint(location), GLfloat(v0), GLfloat(v1), GLfloat(v2), GLfloat(v3) ) -> None',
	argNames = ('location', 'v0', 'v1', 'v2', 'v3',),
)

glUniform1i = platform.createExtensionFunction( 
	'glUniform1i', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLint,),
	doc = 'glUniform1i( GLint(location), GLint(v0) ) -> None',
	argNames = ('location', 'v0',),
)

glUniform2i = platform.createExtensionFunction( 
	'glUniform2i', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLint, constants.GLint,),
	doc = 'glUniform2i( GLint(location), GLint(v0), GLint(v1) ) -> None',
	argNames = ('location', 'v0', 'v1',),
)

glUniform3i = platform.createExtensionFunction( 
	'glUniform3i', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLint, constants.GLint, constants.GLint,),
	doc = 'glUniform3i( GLint(location), GLint(v0), GLint(v1), GLint(v2) ) -> None',
	argNames = ('location', 'v0', 'v1', 'v2',),
)

glUniform4i = platform.createExtensionFunction( 
	'glUniform4i', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLint, constants.GLint, constants.GLint, constants.GLint,),
	doc = 'glUniform4i( GLint(location), GLint(v0), GLint(v1), GLint(v2), GLint(v3) ) -> None',
	argNames = ('location', 'v0', 'v1', 'v2', 'v3',),
)

glUniform1fv = platform.createExtensionFunction( 
	'glUniform1fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, arrays.GLfloatArray,),
	doc = 'glUniform1fv( GLint(location), GLsizei(count), GLfloatArray(value) ) -> None',
	argNames = ('location', 'count', 'value',),
)

glUniform2fv = platform.createExtensionFunction( 
	'glUniform2fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, arrays.GLfloatArray,),
	doc = 'glUniform2fv( GLint(location), GLsizei(count), GLfloatArray(value) ) -> None',
	argNames = ('location', 'count', 'value',),
)

glUniform3fv = platform.createExtensionFunction( 
	'glUniform3fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, arrays.GLfloatArray,),
	doc = 'glUniform3fv( GLint(location), GLsizei(count), GLfloatArray(value) ) -> None',
	argNames = ('location', 'count', 'value',),
)

glUniform4fv = platform.createExtensionFunction( 
	'glUniform4fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, arrays.GLfloatArray,),
	doc = 'glUniform4fv( GLint(location), GLsizei(count), GLfloatArray(value) ) -> None',
	argNames = ('location', 'count', 'value',),
)

glUniform1iv = platform.createExtensionFunction( 
	'glUniform1iv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, arrays.GLintArray,),
	doc = 'glUniform1iv( GLint(location), GLsizei(count), GLintArray(value) ) -> None',
	argNames = ('location', 'count', 'value',),
)

glUniform2iv = platform.createExtensionFunction( 
	'glUniform2iv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, arrays.GLintArray,),
	doc = 'glUniform2iv( GLint(location), GLsizei(count), GLintArray(value) ) -> None',
	argNames = ('location', 'count', 'value',),
)

glUniform3iv = platform.createExtensionFunction( 
	'glUniform3iv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, arrays.GLintArray,),
	doc = 'glUniform3iv( GLint(location), GLsizei(count), GLintArray(value) ) -> None',
	argNames = ('location', 'count', 'value',),
)

glUniform4iv = platform.createExtensionFunction( 
	'glUniform4iv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, arrays.GLintArray,),
	doc = 'glUniform4iv( GLint(location), GLsizei(count), GLintArray(value) ) -> None',
	argNames = ('location', 'count', 'value',),
)

glUniformMatrix2fv = platform.createExtensionFunction( 
	'glUniformMatrix2fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, constants.GLboolean, arrays.GLfloatArray,),
	doc = 'glUniformMatrix2fv( GLint(location), GLsizei(count), GLboolean(transpose), GLfloatArray(value) ) -> None',
	argNames = ('location', 'count', 'transpose', 'value',),
)

glUniformMatrix3fv = platform.createExtensionFunction( 
	'glUniformMatrix3fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, constants.GLboolean, arrays.GLfloatArray,),
	doc = 'glUniformMatrix3fv( GLint(location), GLsizei(count), GLboolean(transpose), GLfloatArray(value) ) -> None',
	argNames = ('location', 'count', 'transpose', 'value',),
)

glUniformMatrix4fv = platform.createExtensionFunction( 
	'glUniformMatrix4fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLsizei, constants.GLboolean, arrays.GLfloatArray,),
	doc = 'glUniformMatrix4fv( GLint(location), GLsizei(count), GLboolean(transpose), GLfloatArray(value) ) -> None',
	argNames = ('location', 'count', 'transpose', 'value',),
)

glValidateProgram = platform.createExtensionFunction( 
	'glValidateProgram', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint,),
	doc = 'glValidateProgram( GLuint(program) ) -> None',
	argNames = ('program',),
)

glVertexAttrib1d = platform.createExtensionFunction( 
	'glVertexAttrib1d', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLdouble,),
	doc = 'glVertexAttrib1d( GLuint(index), GLdouble(x) ) -> None',
	argNames = ('index', 'x',),
)

glVertexAttrib1dv = platform.createExtensionFunction( 
	'glVertexAttrib1dv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLdoubleArray,),
	doc = 'glVertexAttrib1dv( GLuint(index), GLdoubleArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib1f = platform.createExtensionFunction( 
	'glVertexAttrib1f', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLfloat,),
	doc = 'glVertexAttrib1f( GLuint(index), GLfloat(x) ) -> None',
	argNames = ('index', 'x',),
)

glVertexAttrib1fv = platform.createExtensionFunction( 
	'glVertexAttrib1fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLfloatArray,),
	doc = 'glVertexAttrib1fv( GLuint(index), GLfloatArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib1s = platform.createExtensionFunction( 
	'glVertexAttrib1s', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLshort,),
	doc = 'glVertexAttrib1s( GLuint(index), GLshort(x) ) -> None',
	argNames = ('index', 'x',),
)

glVertexAttrib1sv = platform.createExtensionFunction( 
	'glVertexAttrib1sv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLshortArray,),
	doc = 'glVertexAttrib1sv( GLuint(index), GLshortArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib2d = platform.createExtensionFunction( 
	'glVertexAttrib2d', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLdouble, constants.GLdouble,),
	doc = 'glVertexAttrib2d( GLuint(index), GLdouble(x), GLdouble(y) ) -> None',
	argNames = ('index', 'x', 'y',),
)

glVertexAttrib2dv = platform.createExtensionFunction( 
	'glVertexAttrib2dv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLdoubleArray,),
	doc = 'glVertexAttrib2dv( GLuint(index), GLdoubleArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib2f = platform.createExtensionFunction( 
	'glVertexAttrib2f', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLfloat, constants.GLfloat,),
	doc = 'glVertexAttrib2f( GLuint(index), GLfloat(x), GLfloat(y) ) -> None',
	argNames = ('index', 'x', 'y',),
)

glVertexAttrib2fv = platform.createExtensionFunction( 
	'glVertexAttrib2fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLfloatArray,),
	doc = 'glVertexAttrib2fv( GLuint(index), GLfloatArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib2s = platform.createExtensionFunction( 
	'glVertexAttrib2s', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLshort, constants.GLshort,),
	doc = 'glVertexAttrib2s( GLuint(index), GLshort(x), GLshort(y) ) -> None',
	argNames = ('index', 'x', 'y',),
)

glVertexAttrib2sv = platform.createExtensionFunction( 
	'glVertexAttrib2sv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLshortArray,),
	doc = 'glVertexAttrib2sv( GLuint(index), GLshortArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib3d = platform.createExtensionFunction( 
	'glVertexAttrib3d', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLdouble, constants.GLdouble, constants.GLdouble,),
	doc = 'glVertexAttrib3d( GLuint(index), GLdouble(x), GLdouble(y), GLdouble(z) ) -> None',
	argNames = ('index', 'x', 'y', 'z',),
)

glVertexAttrib3dv = platform.createExtensionFunction( 
	'glVertexAttrib3dv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLdoubleArray,),
	doc = 'glVertexAttrib3dv( GLuint(index), GLdoubleArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib3f = platform.createExtensionFunction( 
	'glVertexAttrib3f', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLfloat, constants.GLfloat, constants.GLfloat,),
	doc = 'glVertexAttrib3f( GLuint(index), GLfloat(x), GLfloat(y), GLfloat(z) ) -> None',
	argNames = ('index', 'x', 'y', 'z',),
)

glVertexAttrib3fv = platform.createExtensionFunction( 
	'glVertexAttrib3fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLfloatArray,),
	doc = 'glVertexAttrib3fv( GLuint(index), GLfloatArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib3s = platform.createExtensionFunction( 
	'glVertexAttrib3s', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLshort, constants.GLshort, constants.GLshort,),
	doc = 'glVertexAttrib3s( GLuint(index), GLshort(x), GLshort(y), GLshort(z) ) -> None',
	argNames = ('index', 'x', 'y', 'z',),
)

glVertexAttrib3sv = platform.createExtensionFunction( 
	'glVertexAttrib3sv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLshortArray,),
	doc = 'glVertexAttrib3sv( GLuint(index), GLshortArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4Nbv = platform.createExtensionFunction( 
	'glVertexAttrib4Nbv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLbyteArray,),
	doc = 'glVertexAttrib4Nbv( GLuint(index), GLbyteArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4Niv = platform.createExtensionFunction( 
	'glVertexAttrib4Niv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLintArray,),
	doc = 'glVertexAttrib4Niv( GLuint(index), GLintArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4Nsv = platform.createExtensionFunction( 
	'glVertexAttrib4Nsv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLshortArray,),
	doc = 'glVertexAttrib4Nsv( GLuint(index), GLshortArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4Nub = platform.createExtensionFunction( 
	'glVertexAttrib4Nub', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLubyte, constants.GLubyte, constants.GLubyte, constants.GLubyte,),
	doc = 'glVertexAttrib4Nub( GLuint(index), GLubyte(x), GLubyte(y), GLubyte(z), GLubyte(w) ) -> None',
	argNames = ('index', 'x', 'y', 'z', 'w',),
)

glVertexAttrib4Nubv = platform.createExtensionFunction( 
	'glVertexAttrib4Nubv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLubyteArray,),
	doc = 'glVertexAttrib4Nubv( GLuint(index), GLubyteArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4Nuiv = platform.createExtensionFunction( 
	'glVertexAttrib4Nuiv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLuintArray,),
	doc = 'glVertexAttrib4Nuiv( GLuint(index), GLuintArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4Nusv = platform.createExtensionFunction( 
	'glVertexAttrib4Nusv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLushortArray,),
	doc = 'glVertexAttrib4Nusv( GLuint(index), GLushortArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4bv = platform.createExtensionFunction( 
	'glVertexAttrib4bv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLbyteArray,),
	doc = 'glVertexAttrib4bv( GLuint(index), GLbyteArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4d = platform.createExtensionFunction( 
	'glVertexAttrib4d', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLdouble, constants.GLdouble, constants.GLdouble, constants.GLdouble,),
	doc = 'glVertexAttrib4d( GLuint(index), GLdouble(x), GLdouble(y), GLdouble(z), GLdouble(w) ) -> None',
	argNames = ('index', 'x', 'y', 'z', 'w',),
)

glVertexAttrib4dv = platform.createExtensionFunction( 
	'glVertexAttrib4dv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLdoubleArray,),
	doc = 'glVertexAttrib4dv( GLuint(index), GLdoubleArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4f = platform.createExtensionFunction( 
	'glVertexAttrib4f', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLfloat, constants.GLfloat, constants.GLfloat, constants.GLfloat,),
	doc = 'glVertexAttrib4f( GLuint(index), GLfloat(x), GLfloat(y), GLfloat(z), GLfloat(w) ) -> None',
	argNames = ('index', 'x', 'y', 'z', 'w',),
)

glVertexAttrib4fv = platform.createExtensionFunction( 
	'glVertexAttrib4fv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLfloatArray,),
	doc = 'glVertexAttrib4fv( GLuint(index), GLfloatArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4iv = platform.createExtensionFunction( 
	'glVertexAttrib4iv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLintArray,),
	doc = 'glVertexAttrib4iv( GLuint(index), GLintArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4s = platform.createExtensionFunction( 
	'glVertexAttrib4s', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLshort, constants.GLshort, constants.GLshort, constants.GLshort,),
	doc = 'glVertexAttrib4s( GLuint(index), GLshort(x), GLshort(y), GLshort(z), GLshort(w) ) -> None',
	argNames = ('index', 'x', 'y', 'z', 'w',),
)

glVertexAttrib4sv = platform.createExtensionFunction( 
	'glVertexAttrib4sv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLshortArray,),
	doc = 'glVertexAttrib4sv( GLuint(index), GLshortArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4ubv = platform.createExtensionFunction( 
	'glVertexAttrib4ubv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLubyteArray,),
	doc = 'glVertexAttrib4ubv( GLuint(index), GLubyteArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4uiv = platform.createExtensionFunction( 
	'glVertexAttrib4uiv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLuintArray,),
	doc = 'glVertexAttrib4uiv( GLuint(index), GLuintArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttrib4usv = platform.createExtensionFunction( 
	'glVertexAttrib4usv', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, arrays.GLushortArray,),
	doc = 'glVertexAttrib4usv( GLuint(index), GLushortArray(v) ) -> None',
	argNames = ('index', 'v',),
)

glVertexAttribPointer = platform.createExtensionFunction( 
	'glVertexAttribPointer', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLuint, constants.GLint, constants.GLenum, constants.GLboolean, constants.GLsizei, ctypes.c_void_p,),
	doc = 'glVertexAttribPointer( GLuint(index), GLint(size), GLenum(type), GLboolean(normalized), GLsizei(stride), c_void_p(pointer) ) -> None',
	argNames = ('index', 'size', 'type', 'normalized', 'stride', 'pointer',),
)

