'''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_ARB_vertex_program'
def _f( function ):
    return _p.createFunction( function,_p.GL,'GL_ARB_vertex_program',False)
_p.unpack_constants( """GL_COLOR_SUM_ARB 0x8458
GL_VERTEX_PROGRAM_ARB 0x8620
GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
GL_PROGRAM_LENGTH_ARB 0x8627
GL_PROGRAM_STRING_ARB 0x8628
GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
GL_MAX_PROGRAM_MATRICES_ARB 0x862F
GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
GL_CURRENT_MATRIX_ARB 0x8641
GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
GL_PROGRAM_ERROR_POSITION_ARB 0x864B
GL_PROGRAM_BINDING_ARB 0x8677
GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
GL_PROGRAM_ERROR_STRING_ARB 0x8874
GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
GL_PROGRAM_FORMAT_ARB 0x8876
GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
GL_PROGRAM_TEMPORARIES_ARB 0x88A4
GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
GL_PROGRAM_PARAMETERS_ARB 0x88A8
GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
GL_PROGRAM_ATTRIBS_ARB 0x88AC
GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
GL_MATRIX0_ARB 0x88C0
GL_MATRIX1_ARB 0x88C1
GL_MATRIX2_ARB 0x88C2
GL_MATRIX3_ARB 0x88C3
GL_MATRIX4_ARB 0x88C4
GL_MATRIX5_ARB 0x88C5
GL_MATRIX6_ARB 0x88C6
GL_MATRIX7_ARB 0x88C7
GL_MATRIX8_ARB 0x88C8
GL_MATRIX9_ARB 0x88C9
GL_MATRIX10_ARB 0x88CA
GL_MATRIX11_ARB 0x88CB
GL_MATRIX12_ARB 0x88CC
GL_MATRIX13_ARB 0x88CD
GL_MATRIX14_ARB 0x88CE
GL_MATRIX15_ARB 0x88CF
GL_MATRIX16_ARB 0x88D0
GL_MATRIX17_ARB 0x88D1
GL_MATRIX18_ARB 0x88D2
GL_MATRIX19_ARB 0x88D3
GL_MATRIX20_ARB 0x88D4
GL_MATRIX21_ARB 0x88D5
GL_MATRIX22_ARB 0x88D6
GL_MATRIX23_ARB 0x88D7
GL_MATRIX24_ARB 0x88D8
GL_MATRIX25_ARB 0x88D9
GL_MATRIX26_ARB 0x88DA
GL_MATRIX27_ARB 0x88DB
GL_MATRIX28_ARB 0x88DC
GL_MATRIX29_ARB 0x88DD
GL_MATRIX30_ARB 0x88DE
GL_MATRIX31_ARB 0x88DF""", globals())
glget.addGLGetConstant( GL_COLOR_SUM_ARB, (1,) )
glget.addGLGetConstant( GL_VERTEX_PROGRAM_ARB, (1,) )
glget.addGLGetConstant( GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB, (1,) )
glget.addGLGetConstant( GL_MAX_PROGRAM_MATRICES_ARB, (1,) )
glget.addGLGetConstant( GL_CURRENT_MATRIX_STACK_DEPTH_ARB, (1,) )
glget.addGLGetConstant( GL_CURRENT_MATRIX_ARB, (4, 4) )
glget.addGLGetConstant( GL_VERTEX_PROGRAM_POINT_SIZE_ARB, (1,) )
glget.addGLGetConstant( GL_VERTEX_PROGRAM_TWO_SIDE_ARB, (1,) )
glget.addGLGetConstant( GL_PROGRAM_ERROR_POSITION_ARB, (1,) )
glget.addGLGetConstant( GL_MAX_VERTEX_ATTRIBS_ARB, (1,) )
glget.addGLGetConstant( GL_TRANSPOSE_CURRENT_MATRIX_ARB, (4, 4) )
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble)
def glVertexAttrib1dARB( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib1dvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat)
def glVertexAttrib1fARB( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib1fvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort)
def glVertexAttrib1sARB( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib1svARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib2dARB( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib2dvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib2fARB( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib2fvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort)
def glVertexAttrib2sARB( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib2svARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib3dARB( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib3dvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib3fARB( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib3fvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort,_cs.GLshort)
def glVertexAttrib3sARB( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib3svARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLbyteArray)
def glVertexAttrib4NbvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLintArray)
def glVertexAttrib4NivARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib4NsvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLubyte,_cs.GLubyte,_cs.GLubyte,_cs.GLubyte)
def glVertexAttrib4NubARB( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLubyteArray)
def glVertexAttrib4NubvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLuintArray)
def glVertexAttrib4NuivARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLushortArray)
def glVertexAttrib4NusvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLbyteArray)
def glVertexAttrib4bvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib4dARB( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib4dvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib4fARB( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib4fvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLintArray)
def glVertexAttrib4ivARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort,_cs.GLshort,_cs.GLshort)
def glVertexAttrib4sARB( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib4svARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLubyteArray)
def glVertexAttrib4ubvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLuintArray)
def glVertexAttrib4uivARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLushortArray)
def glVertexAttrib4usvARB( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLint,_cs.GLenum,_cs.GLboolean,_cs.GLsizei,ctypes.c_void_p)
def glVertexAttribPointerARB( index,size,type,normalized,stride,pointer ):pass
@_f
@_p.types(None,_cs.GLuint)
def glEnableVertexAttribArrayARB( index ):pass
@_f
@_p.types(None,_cs.GLuint)
def glDisableVertexAttribArrayARB( index ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLenum,_cs.GLsizei,ctypes.c_void_p)
def glProgramStringARB( target,format,len,string ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint)
def glBindProgramARB( target,program ):pass
@_f
@_p.types(None,_cs.GLsizei,arrays.GLuintArray)
def glDeleteProgramsARB( n,programs ):pass
@_f
@_p.types(None,_cs.GLsizei,arrays.GLuintArray)
def glGenProgramsARB( n,programs ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glProgramEnvParameter4dARB( target,index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLdoubleArray)
def glProgramEnvParameter4dvARB( target,index,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glProgramEnvParameter4fARB( target,index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLfloatArray)
def glProgramEnvParameter4fvARB( target,index,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glProgramLocalParameter4dARB( target,index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLdoubleArray)
def glProgramLocalParameter4dvARB( target,index,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glProgramLocalParameter4fARB( target,index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLfloatArray)
def glProgramLocalParameter4fvARB( target,index,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLdoubleArray)
def glGetProgramEnvParameterdvARB( target,index,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLfloatArray)
def glGetProgramEnvParameterfvARB( target,index,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLdoubleArray)
def glGetProgramLocalParameterdvARB( target,index,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLfloatArray)
def glGetProgramLocalParameterfvARB( target,index,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLenum,arrays.GLintArray)
def glGetProgramivARB( target,pname,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLenum,ctypes.c_void_p)
def glGetProgramStringARB( target,pname,string ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLdoubleArray)
def glGetVertexAttribdvARB( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLfloatArray)
def glGetVertexAttribfvARB( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetVertexAttribivARB( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLvoidpArray)
def glGetVertexAttribPointervARB( index,pname,pointer ):pass
@_f
@_p.types(_cs.GLboolean,_cs.GLuint)
def glIsProgramARB( program ):pass


def glInitVertexProgramARB():
    '''Return boolean indicating whether this extension is available'''
    from OpenGL import extensions
    return extensions.hasGLExtension( EXTENSION_NAME )
