'''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_NV_vertex_program'
def _f( function ):
    return _p.createFunction( function,_p.GL,'GL_NV_vertex_program',False)
_p.unpack_constants( """GL_VERTEX_PROGRAM_NV 0x8620
GL_VERTEX_STATE_PROGRAM_NV 0x8621
GL_ATTRIB_ARRAY_SIZE_NV 0x8623
GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
GL_ATTRIB_ARRAY_TYPE_NV 0x8625
GL_CURRENT_ATTRIB_NV 0x8626
GL_PROGRAM_LENGTH_NV 0x8627
GL_PROGRAM_STRING_NV 0x8628
GL_MODELVIEW_PROJECTION_NV 0x8629
GL_IDENTITY_NV 0x862A
GL_INVERSE_NV 0x862B
GL_TRANSPOSE_NV 0x862C
GL_INVERSE_TRANSPOSE_NV 0x862D
GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
GL_MAX_TRACK_MATRICES_NV 0x862F
GL_MATRIX0_NV 0x8630
GL_MATRIX1_NV 0x8631
GL_MATRIX2_NV 0x8632
GL_MATRIX3_NV 0x8633
GL_MATRIX4_NV 0x8634
GL_MATRIX5_NV 0x8635
GL_MATRIX6_NV 0x8636
GL_MATRIX7_NV 0x8637
GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
GL_CURRENT_MATRIX_NV 0x8641
GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
GL_PROGRAM_PARAMETER_NV 0x8644
GL_ATTRIB_ARRAY_POINTER_NV 0x8645
GL_PROGRAM_TARGET_NV 0x8646
GL_PROGRAM_RESIDENT_NV 0x8647
GL_TRACK_MATRIX_NV 0x8648
GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
GL_VERTEX_PROGRAM_BINDING_NV 0x864A
GL_PROGRAM_ERROR_POSITION_NV 0x864B
GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F""", globals())
glget.addGLGetConstant( GL_VERTEX_PROGRAM_NV, (1,) )
glget.addGLGetConstant( GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV, (1,) )
glget.addGLGetConstant( GL_MAX_TRACK_MATRICES_NV, (1,) )
glget.addGLGetConstant( GL_CURRENT_MATRIX_STACK_DEPTH_NV, (1,) )
glget.addGLGetConstant( GL_CURRENT_MATRIX_NV, (4, 4) )
glget.addGLGetConstant( GL_VERTEX_PROGRAM_POINT_SIZE_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_PROGRAM_TWO_SIDE_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_PROGRAM_BINDING_NV, (1,) )
glget.addGLGetConstant( GL_PROGRAM_ERROR_POSITION_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY0_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY1_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY2_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY3_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY4_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY5_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY6_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY7_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY8_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY9_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY10_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY11_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY12_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY13_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY14_NV, (1,) )
glget.addGLGetConstant( GL_VERTEX_ATTRIB_ARRAY15_NV, (1,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB0_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB1_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB2_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB3_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB4_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB5_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB6_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB7_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB8_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB9_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB10_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB11_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB12_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB13_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB14_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP1_VERTEX_ATTRIB15_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB0_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB1_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB2_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB3_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB4_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB5_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB6_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB7_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB8_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB9_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB10_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB11_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB12_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB13_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB14_4_NV, (4,) )
glget.addGLGetConstant( GL_MAP2_VERTEX_ATTRIB15_4_NV, (4,) )
@_f
@_p.types(_cs.GLboolean,_cs.GLsizei,arrays.GLuintArray,arrays.GLbooleanArray)
def glAreProgramsResidentNV( n,programs,residences ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint)
def glBindProgramNV( target,id ):pass
@_f
@_p.types(None,_cs.GLsizei,arrays.GLuintArray)
def glDeleteProgramsNV( n,programs ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLfloatArray)
def glExecuteProgramNV( target,id,params ):pass
@_f
@_p.types(None,_cs.GLsizei,arrays.GLuintArray)
def glGenProgramsNV( n,programs ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLenum,arrays.GLdoubleArray)
def glGetProgramParameterdvNV( target,index,pname,params ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLenum,arrays.GLfloatArray)
def glGetProgramParameterfvNV( target,index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetProgramivNV( id,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLubyteArray)
def glGetProgramStringNV( id,pname,program ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetTrackMatrixivNV( target,address,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLdoubleArray)
def glGetVertexAttribdvNV( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLfloatArray)
def glGetVertexAttribfvNV( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetVertexAttribivNV( index,pname,params ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,arrays.GLvoidpArray)
def glGetVertexAttribPointervNV( index,pname,pointer ):pass
@_f
@_p.types(_cs.GLboolean,_cs.GLuint)
def glIsProgramNV( id ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLsizei,arrays.GLubyteArray)
def glLoadProgramNV( target,id,len,program ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glProgramParameter4dNV( target,index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLdoubleArray)
def glProgramParameter4dvNV( target,index,v ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glProgramParameter4fNV( target,index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,arrays.GLfloatArray)
def glProgramParameter4fvNV( target,index,v ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLsizei,arrays.GLdoubleArray)
def glProgramParameters4dvNV( target,index,count,v ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLsizei,arrays.GLfloatArray)
def glProgramParameters4fvNV( target,index,count,v ):pass
@_f
@_p.types(None,_cs.GLsizei,arrays.GLuintArray)
def glRequestResidentProgramsNV( n,programs ):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLuint,_cs.GLenum,_cs.GLenum)
def glTrackMatrixNV( target,address,matrix,transform ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLint,_cs.GLenum,_cs.GLsizei,ctypes.c_void_p)
def glVertexAttribPointerNV( index,fsize,type,stride,pointer ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble)
def glVertexAttrib1dNV( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib1dvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat)
def glVertexAttrib1fNV( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib1fvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort)
def glVertexAttrib1sNV( index,x ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib1svNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib2dNV( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib2dvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib2fNV( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib2fvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort)
def glVertexAttrib2sNV( index,x,y ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib2svNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib3dNV( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib3dvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib3fNV( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib3fvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort,_cs.GLshort)
def glVertexAttrib3sNV( index,x,y,z ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib3svNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble,_cs.GLdouble)
def glVertexAttrib4dNV( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLdoubleArray)
def glVertexAttrib4dvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat,_cs.GLfloat)
def glVertexAttrib4fNV( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLfloatArray)
def glVertexAttrib4fvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLshort,_cs.GLshort,_cs.GLshort,_cs.GLshort)
def glVertexAttrib4sNV( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLshortArray)
def glVertexAttrib4svNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLubyte,_cs.GLubyte,_cs.GLubyte,_cs.GLubyte)
def glVertexAttrib4ubNV( index,x,y,z,w ):pass
@_f
@_p.types(None,_cs.GLuint,arrays.GLubyteArray)
def glVertexAttrib4ubvNV( index,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLdoubleArray)
def glVertexAttribs1dvNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLfloatArray)
def glVertexAttribs1fvNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLshortArray)
def glVertexAttribs1svNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLdoubleArray)
def glVertexAttribs2dvNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLfloatArray)
def glVertexAttribs2fvNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLshortArray)
def glVertexAttribs2svNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLdoubleArray)
def glVertexAttribs3dvNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLfloatArray)
def glVertexAttribs3fvNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLshortArray)
def glVertexAttribs3svNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLdoubleArray)
def glVertexAttribs4dvNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLfloatArray)
def glVertexAttribs4fvNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLshortArray)
def glVertexAttribs4svNV( index,count,v ):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLsizei,arrays.GLubyteArray)
def glVertexAttribs4ubvNV( index,count,v ):pass


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