'''Autogenerated by get_gl_extensions script, do not edit!'''
from OpenGL import platform as _p, constants as _cs, arrays
from OpenGL.GL import glget
import ctypes
EXTENSION_NAME = 'GL_VERSION_GL_2_0'
def _f( function ):
    return _p.createFunction( function,_p.GL,'GL_VERSION_GL_2_0',False)
_p.unpack_constants( """GL_BLEND_EQUATION_RGB 0x8009
GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
GL_CURRENT_VERTEX_ATTRIB 0x8626
GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
GL_STENCIL_BACK_FUNC 0x8800
GL_STENCIL_BACK_FAIL 0x8801
GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
GL_MAX_DRAW_BUFFERS 0x8824
GL_DRAW_BUFFER0 0x8825
GL_DRAW_BUFFER1 0x8826
GL_DRAW_BUFFER2 0x8827
GL_DRAW_BUFFER3 0x8828
GL_DRAW_BUFFER4 0x8829
GL_DRAW_BUFFER5 0x882A
GL_DRAW_BUFFER6 0x882B
GL_DRAW_BUFFER7 0x882C
GL_DRAW_BUFFER8 0x882D
GL_DRAW_BUFFER9 0x882E
GL_DRAW_BUFFER10 0x882F
GL_DRAW_BUFFER11 0x8830
GL_DRAW_BUFFER12 0x8831
GL_DRAW_BUFFER13 0x8832
GL_DRAW_BUFFER14 0x8833
GL_DRAW_BUFFER15 0x8834
GL_BLEND_EQUATION_ALPHA 0x883D
GL_MAX_VERTEX_ATTRIBS 0x8869
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
GL_FRAGMENT_SHADER 0x8B30
GL_VERTEX_SHADER 0x8B31
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
GL_MAX_VARYING_FLOATS 0x8B4B
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
GL_SHADER_TYPE 0x8B4F
GL_FLOAT_VEC2 0x8B50
GL_FLOAT_VEC3 0x8B51
GL_FLOAT_VEC4 0x8B52
GL_INT_VEC2 0x8B53
GL_INT_VEC3 0x8B54
GL_INT_VEC4 0x8B55
GL_BOOL 0x8B56
GL_BOOL_VEC2 0x8B57
GL_BOOL_VEC3 0x8B58
GL_BOOL_VEC4 0x8B59
GL_FLOAT_MAT2 0x8B5A
GL_FLOAT_MAT3 0x8B5B
GL_FLOAT_MAT4 0x8B5C
GL_SAMPLER_1D 0x8B5D
GL_SAMPLER_2D 0x8B5E
GL_SAMPLER_3D 0x8B5F
GL_SAMPLER_CUBE 0x8B60
GL_SAMPLER_1D_SHADOW 0x8B61
GL_SAMPLER_2D_SHADOW 0x8B62
GL_DELETE_STATUS 0x8B80
GL_COMPILE_STATUS 0x8B81
GL_LINK_STATUS 0x8B82
GL_VALIDATE_STATUS 0x8B83
GL_INFO_LOG_LENGTH 0x8B84
GL_ATTACHED_SHADERS 0x8B85
GL_ACTIVE_UNIFORMS 0x8B86
GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
GL_SHADER_SOURCE_LENGTH 0x8B88
GL_ACTIVE_ATTRIBUTES 0x8B89
GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
GL_SHADING_LANGUAGE_VERSION 0x8B8C
GL_CURRENT_PROGRAM 0x8B8D
GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
GL_LOWER_LEFT 0x8CA1
GL_UPPER_LEFT 0x8CA2
GL_STENCIL_BACK_REF 0x8CA3
GL_STENCIL_BACK_VALUE_MASK 0x8CA4
GL_STENCIL_BACK_WRITEMASK 0x8CA5
GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
GL_POINT_SPRITE 0x8861
GL_COORD_REPLACE 0x8862
GL_MAX_TEXTURE_COORDS 0x8871""", globals())
glget.addGLGetConstant( GL_BLEND_EQUATION_RGB, (1,) )
glget.addGLGetConstant( GL_VERTEX_PROGRAM_POINT_SIZE, (1,) )
glget.addGLGetConstant( GL_STENCIL_BACK_FUNC, (1,) )
glget.addGLGetConstant( GL_STENCIL_BACK_FAIL, (1,) )
glget.addGLGetConstant( GL_STENCIL_BACK_PASS_DEPTH_FAIL, (1,) )
glget.addGLGetConstant( GL_STENCIL_BACK_PASS_DEPTH_PASS, (1,) )
glget.addGLGetConstant( GL_MAX_DRAW_BUFFERS, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER0, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER1, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER2, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER3, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER4, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER5, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER6, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER7, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER8, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER9, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER10, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER11, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER12, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER13, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER14, (1,) )
glget.addGLGetConstant( GL_DRAW_BUFFER15, (1,) )
glget.addGLGetConstant( GL_BLEND_EQUATION_ALPHA, (1,) )
glget.addGLGetConstant( GL_MAX_VERTEX_ATTRIBS, (1,) )
glget.addGLGetConstant( GL_MAX_TEXTURE_IMAGE_UNITS, (1,) )
glget.addGLGetConstant( GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, (1,) )
glget.addGLGetConstant( GL_MAX_VERTEX_UNIFORM_COMPONENTS, (1,) )
glget.addGLGetConstant( GL_MAX_VARYING_FLOATS, (1,) )
glget.addGLGetConstant( GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, (1,) )
glget.addGLGetConstant( GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, (1,) )
glget.addGLGetConstant( GL_FRAGMENT_SHADER_DERIVATIVE_HINT, (1,) )
glget.addGLGetConstant( GL_CURRENT_PROGRAM, (1,) )
glget.addGLGetConstant( GL_POINT_SPRITE_COORD_ORIGIN, (1,) )
glget.addGLGetConstant( GL_STENCIL_BACK_REF, (1,) )
glget.addGLGetConstant( GL_STENCIL_BACK_VALUE_MASK, (1,) )
glget.addGLGetConstant( GL_STENCIL_BACK_WRITEMASK, (1,) )
glget.addGLGetConstant( GL_VERTEX_PROGRAM_TWO_SIDE, (1,) )
glget.addGLGetConstant( GL_POINT_SPRITE, (1,) )
glget.addGLGetConstant( GL_MAX_TEXTURE_COORDS, (1,) )
@_f
@_p.types(None,_cs.GLenum,_cs.GLenum)
def glBlendEquationSeparate( modeRGB,modeAlpha ):pass
@_f
@_p.types(None,_cs.GLsizei,arrays.GLuintArray)
def glDrawBuffers( n,bufs ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLenum,_cs.GLenum,_cs.GLenum)
def glStencilOpSeparate( face,sfail,dpfail,dppass ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLenum,_cs.GLint,_cs.GLuint)
def glStencilFuncSeparate( face,func,ref,mask ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint)
def glStencilMaskSeparate( face,mask ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLuint)
def glAttachShader( program,shader ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLuint,arrays.GLcharArray)
def glBindAttribLocation( program,index,name ):pass
@_f
@_p.types(None,_cs.GLuint)
def glCompileShader( shader ):pass
@_f
@_p.types(_cs.GLuint,)
def glCreateProgram(  ):pass
@_f
@_p.types(_cs.GLuint,_cs.GLenum)
def glCreateShader( type ):pass
@_f
@_p.types(None,_cs.GLuint)
def glDeleteProgram( program ):pass
@_f
@_p.types(None,_cs.GLuint)
def glDeleteShader( shader ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLuint)
def glDetachShader( program,shader ):pass
@_f
@_p.types(None,_cs.GLuint)
def glDisableVertexAttribArray( index ):pass
@_f
@_p.types(None,_cs.GLuint)
def glEnableVertexAttribArray( index ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLintArray,arrays.GLuintArray,arrays.GLcharArray)
def glGetActiveAttrib( program,index,bufSize,length,size,type,name ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLintArray,arrays.GLuintArray,arrays.GLcharArray)
def glGetActiveUniform( program,index,bufSize,length,size,type,name ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLuintArray)
def glGetAttachedShaders( program,maxCount,count,obj ):pass
@_f
@_p.types(_cs.GLint,_cs.GLuint,arrays.GLcharArray)
def glGetAttribLocation( program,name ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetProgramiv( program,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLcharArray)
def glGetProgramInfoLog( program,bufSize,length,infoLog ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetShaderiv( shader,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLcharArray)
def glGetShaderInfoLog( shader,bufSize,length,infoLog ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLcharArray)
def glGetShaderSource( shader,bufSize,length,source ):pass
@_f
@_p.types(_cs.GLint,_cs.GLuint,arrays.GLcharArray)
def glGetUniformLocation( program,name ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLint,arrays.GLfloatArray)
def glGetUniformfv( program,location,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLint,arrays.GLintArray)
def glGetUniformiv( program,location,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLdoubleArray)
def glGetVertexAttribdv( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLfloatArray)
def glGetVertexAttribfv( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetVertexAttribiv( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLvoidpArray)
def glGetVertexAttribPointerv( index,pname,pointer ):pass
@_f
@_p.types(_cs.GLboolean,_cs.GLuint)
def glIsProgram( program ):pass
@_f
@_p.types(_cs.GLboolean,_cs.GLuint)
def glIsShader( shader ):pass
@_f
@_p.types(None,_cs.GLuint)
def glLinkProgram( program ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,ctypes.POINTER( ctypes.POINTER( _cs.GLchar )),arrays.GLintArray)
def glShaderSource( shader,count,string,length ):pass
@_f
@_p.types(None,_cs.GLuint)
def glUseProgram( program ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLfloat)
def glUniform1f( location,v0 ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLfloat,_cs.GLfloat)
def glUniform2f( location,v0,v1 ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glUniform3f( location,v0,v1,v2 ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glUniform4f( location,v0,v1,v2,v3 ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLint)
def glUniform1i( location,v0 ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLint,_cs.GLint)
def glUniform2i( location,v0,v1 ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLint,_cs.GLint,_cs.GLint)
def glUniform3i( location,v0,v1,v2 ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLint,_cs.GLint,_cs.GLint,_cs.GLint)
def glUniform4i( location,v0,v1,v2,v3 ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,arrays.GLfloatArray)
def glUniform1fv( location,count,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,arrays.GLfloatArray)
def glUniform2fv( location,count,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,arrays.GLfloatArray)
def glUniform3fv( location,count,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,arrays.GLfloatArray)
def glUniform4fv( location,count,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,arrays.GLintArray)
def glUniform1iv( location,count,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,arrays.GLintArray)
def glUniform2iv( location,count,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,arrays.GLintArray)
def glUniform3iv( location,count,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,arrays.GLintArray)
def glUniform4iv( location,count,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,_cs.GLboolean,arrays.GLfloatArray)
def glUniformMatrix2fv( location,count,transpose,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,_cs.GLboolean,arrays.GLfloatArray)
def glUniformMatrix3fv( location,count,transpose,value ):pass
@_f
@_p.types(None,_cs.GLint,_cs.GLsizei,_cs.GLboolean,arrays.GLfloatArray)
def glUniformMatrix4fv( location,count,transpose,value ):pass
@_f
@_p.types(None,_cs.GLuint)
def glValidateProgram( program ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble)
def glVertexAttrib1d( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib1dv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat)
def glVertexAttrib1f( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib1fv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort)
def glVertexAttrib1s( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib1sv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib2d( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib2dv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib2f( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib2fv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort)
def glVertexAttrib2s( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib2sv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib3d( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib3dv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib3f( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib3fv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort,_cs.GLshort)
def glVertexAttrib3s( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib3sv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLbyteArray)
def glVertexAttrib4Nbv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLintArray)
def glVertexAttrib4Niv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib4Nsv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLubyte,_cs.GLubyte,_cs.GLubyte,_cs.GLubyte)
def glVertexAttrib4Nub( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLubyteArray)
def glVertexAttrib4Nubv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLuintArray)
def glVertexAttrib4Nuiv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLushortArray)
def glVertexAttrib4Nusv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLbyteArray)
def glVertexAttrib4bv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib4d( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib4dv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib4f( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib4fv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLintArray)
def glVertexAttrib4iv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort,_cs.GLshort,_cs.GLshort)
def glVertexAttrib4s( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib4sv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLubyteArray)
def glVertexAttrib4ubv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLuintArray)
def glVertexAttrib4uiv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLushortArray)
def glVertexAttrib4usv( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLint,_cs.GLenum,_cs.GLboolean,_cs.GLsizei,ctypes.c_void_p)
def glVertexAttribPointer( index,size,type,normalized,stride,pointer ):pass

